我使用kriskowal/q
promise库来处理http请求,但为了简化这种情况,我们假设我有一组动态创建的promises并推送到promises
阵列:
var promises = [],
ids = ['foo', 'bar', 'buz'];
ids.forEach(function(id){
var promise = Q.fcall(function () {
return 'greetings with ' + id;
});
promises.push(promise);
});
// and handle all of them together:
Q.all(promises).then(function (results) {
console.log(results);
});
// gives:
[ 'greetings with foo',
'greetings with bar',
'greetings with buz' ]
问题是 - 是否有可能以某种方式将id
分配给承诺,以便稍后在all
执行中获取它?
假设我们无法修改返回的值(它来自API,我不能用额外的数据扩展它)。