我有一个Promise
数组。在将其传递给Promise.all
时,它返回异常响应。好的,这是我要实现的目标的最小示例。
const promiseChain = [1, 2, 3].map(number => new Promise(resolve, reject) => {
// Calling an function with callback.
getMyObj(number, (err, myObj) => {
if (err) reject(err);
else {
// Comment 1
// Here I'm able to log the desired result both number & myObj.
resolve({ number, myObj });
}
})
});
Promise.all(promiseChain).then((results) => {
results.forEach(result => {
// Comment 2
// Here number is correct for all objects.
// But, myObj is same for all the numbers.
});
});
检查评论。我可以登录注释的内容如下,
评论1:
{ number: 1, myObj: {a: 1}}
{ number: 2, myObj: {b: 2}}
{ number: 3, myObj: {c: 3}}
评论2:
{ number: 1, myObj: {c: 3}}
{ number: 2, myObj: {c: 3}}
{ number: 3, myObj: {c: 3}}
在这里,我在做什么错了,我该如何解决?