添加新参数以承诺所有链

时间:2015-08-11 18:42:29

标签: javascript node.js promise bluebird

我使用以下代码按预期工作,现在我需要添加

modifyOpt()

功能,目前这是有效的,在返回时我传递了args [2] 这是工作,现在我需要添加额外的东西...... 我需要将portscanner.findAPortNotInUseAsync的返回(也就是端口)发送到modifyOpt(),就像modifyOpt(port)一样 我该怎么做?

return Promise.all([
    fs.readFileAsync(filePath, 'utf8').then(pars.getEx.bind(null, 'user')), 
    portscanner.findAPortNotInUseAsync(3000, 4000, 'localhost'),
    modifyOpt()

]).then(function(args) {
    return processExe('exec', args[0], args[1],args[2]);
})

1 个答案:

答案 0 :(得分:0)

只需将modifyOpt承诺后的portscanner.findAPortNotInUseAsync(…)then相关联,即可将履行价值作为参数。
如果您需要两次使用其结果,只需将结果传递两次到processExec

return Promise.all([
    fs.readFileAsync(filePath, 'utf8').then(pars.getEx.bind(null, 'user')), 
    portscanner.findAPortNotInUseAsync(3000, 4000, 'localhost').then(modifyOpt)
]).then(function(args) {
    return processExe('exec', args[0], args[1], args[1]);
})