在 Promises 中传递多个参数
Pass multiple parameters within Promises
我想在承诺链中传递先前解析的、returned 数据和附加参数。请参阅示例进行说明。
下面的函数既 return 一个 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 的变化,这是我必须处理问题的方式。
这条线
API.getSomething(id).then(API.processIt(data, "random"))
您正试图将函数作为引用传递,但您却调用了该函数。
尝试
API.getSomething(id).then(function(data){
API.processIt(data, "random");
});
我想在承诺链中传递先前解析的、returned 数据和附加参数。请参阅示例进行说明。
下面的函数既 return 一个 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 的变化,这是我必须处理问题的方式。
这条线
API.getSomething(id).then(API.processIt(data, "random"))
您正试图将函数作为引用传递,但您却调用了该函数。
尝试
API.getSomething(id).then(function(data){
API.processIt(data, "random");
});