向函数签名添加附加参数
Add addional parameter to function signature
我使用了以下代码,它按预期工作。
现在我想将额外的输入添加到 modifyOpt
成为 modifyOpt(value)
我该怎么做?
目前 modifyOpt 正在从 findAPortAsync 获取一个参数,我需要从 outside 传递额外的参数...(来自包装所有这些承诺的函数)
return Promise.all([
fs.readFile(filePath, 'utf8').then(pars.getEx.bind(null, 'user')),
sync(3000, 4000, 'localhost').then(modifyOpt)
]).then(function(args) {
return processExe('exec', args[0], args[1], args[1]);
})
我尝试了 modifyOpt(value)
和 modifyOpt.bind(value)
,但没有用
如果您想将函数调用为 modifyOpt(value, port)
,可以这样:
.then(modifyOpt.bind(null, value))
bind
的第一个参数是 this
值,后面是函数参数...
pars.getEx.bind
...
你已经正确地做到了
当然,您始终可以这样做并使用您选择的任何参数顺序:
.then(function (port) { modifyOpt(port, value); })
我使用了以下代码,它按预期工作。
现在我想将额外的输入添加到 modifyOpt
成为 modifyOpt(value)
我该怎么做?
目前 modifyOpt 正在从 findAPortAsync 获取一个参数,我需要从 outside 传递额外的参数...(来自包装所有这些承诺的函数)
return Promise.all([
fs.readFile(filePath, 'utf8').then(pars.getEx.bind(null, 'user')),
sync(3000, 4000, 'localhost').then(modifyOpt)
]).then(function(args) {
return processExe('exec', args[0], args[1], args[1]);
})
我尝试了 modifyOpt(value)
和 modifyOpt.bind(value)
,但没有用
如果您想将函数调用为 modifyOpt(value, port)
,可以这样:
.then(modifyOpt.bind(null, value))
bind
的第一个参数是 this
值,后面是函数参数...
pars.getEx.bind
...
当然,您始终可以这样做并使用您选择的任何参数顺序:
.then(function (port) { modifyOpt(port, value); })