我想在promise链中传递先前解析的,返回的数据和附加参数。请参阅示例以获得说明。
下面的函数都返回一个Promise并正确执行。它只是传递额外的参数。
让我们考虑像:
这样的Promise链API.getSomething(id).then(API.processIt)
getSomething function(id) { returns a promise with data }
processIt function(data) { process the returned data }
使用上面的语法,它可以正常工作。一旦我添加了其他参数:
API.getSomething(id).then(API.processIt(data, "random"))
processIt function(data, misc) {...} it does't work anymore.
有没有办法在Promise链中使用先前执行的Promise的结果传递其他参数,而不需要任何额外的库?
它不是关于整个链条的设计。我知道,问题可以通过不同的设计来绕过,但是由于某些API的变化是我必须处理问题的方式。
答案 0 :(得分:2)
在这一行
API.getSomething(id).then(API.processIt(data, "random"))
您正在尝试将函数作为引用传递,但您正在调用该函数。
尝试
API.getSomething(id).then(function(data){
API.processIt(data, "random");
});