【发布时间】:2017-01-11 00:44:13
【问题描述】:
我有一个来自这篇帖子的问题:Chaining Requests using BlueBird/ Request-Promise
我对承诺很陌生,所以请原谅我的天真。我成功地实现了这段代码:
var BPromise = require('bluebird');
var rp = require('request-promise');
BPromise.all([
rp(optionsForRequest1),
rp(optionsForRequest2)
])
.spread(function (responseRequest1, responseRequest2) {
// Proceed with other calls...
})
.catch(function (err) {
// Will be called if at least one request fails.
});
但在我的情况下,特定的 url 每次都不同。我想获取我的新 URL 数组,为每个 URL 构造选项对象,然后 rp()。
当我从字面上构造一个像这样的数组 - var freshArray =[rp({Uri1 w/options}), rp({Uri2 w/options}), etc] 并将其粘贴到上面的 .all( ) 中时 - 没有运气。我认为 rp() 的实现独立于 BPromise.all 调用?
如何将一个构造好的 promise 数组动态嵌入到上面的代码中?
【问题讨论】:
标签: javascript promise bluebird