У меня есть массив 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}}
Вот, что я делаю не так и как я могу это исправить?