我使用request-promise
节点模块如下:的NodeJS /请求承诺:承诺被自动解析
let rp = require('request-promise');
我有以下承诺链:
getData().then(data => {
return getUser(data);
})
.then(data => {
return getProfiles(data);
}).then(data => {
updateAddresses(data);
});
的updateAddresses
是如下:
function updateAddresses(data){
var promises = data.map((aProfile) => {
var options = {url:'http://example.com', method:'POST'};
return rp(options);
});
// Promise.all(promises).then(...);
}
所以我准备承诺(请求承诺)为ea ch数组的元素。
问题是,即使我删除Promise.all
,这些承诺也会触发!
这怎么可能?我怎样才能使诺言不被解雇?
问候。
在updateAddresses中返回'Promise.all()'。 – zero298
我不确定我是否解释了这个问题:在使用'Promise.all'之前,我想检查代码。我注意到承诺正在得到解决。我只是想将它们存储在promise数组中。 – Dae
然后储存选项,不要在它们上面调用'rp'直到你准备好。您仍然需要从'updateAddresses'返回一些内容,否则当范围结束时'map()'将会丢失。 – zero298