承诺:将新参数传递给链序列中的项目



我正在使用Q库进行承诺。我正在尝试链接多个返回承诺的功能,但我想通过。

中的新参数

例如。我想做这个伪代码:

var func1Param = 'abc';
var func2Param = 'def';
var func3Param = 'ghi';
func1(func1Param).then(func2(func2Param)).then(func3(func3Param));

到目前为止,我一直在做类似以下操作的事情,然后使第一个函数具有所有参数,然后将它们传递到第二个功能,并依此类推。例如

var parms = { func1 : 'abc', func2: 'def', func3: 'ghi' }
func1(params).then(func2).then(func3);

但是,这似乎是草率的,可以将参数传递给不需要它们将这些参数获取到确实需要它们的函数的函数。

最好的方法是什么?我想出的每一个选择都无法正常工作,或者似乎疯狂地卷曲。必须有一种简单的方法来正确执行此操作。

我不确定我是否正确理解了这一点,但是如果要将默认/预定变量添加到(Promise(回调,则可以使用Function.bind(thisArg[, arg1[, arg2[, ...]]])

,例如

function1(foo)
    .then(function2.bind(this, bar)
    .then(function3.bind(this, baz)

相关内容

  • 没有找到相关文章

最新更新