Этот вопрос закрыт для ответов, так как повторяет вопрос Почему функция не возвращает нужный результат?
@taipan90

Как мне получить первый элемент массива из промисов?

у меня всегда возвращается undefined как это исправить
function promiseRace(promises) {
    let arr = [];
    for (const elem of promises) {
        elem.then(() => {
            arr.push(elem)
        })
    }
    return arr[0]
}


const firstPromise = new Promise((resolve) =>
  setTimeout(() => resolve(300), 300)
);

const secondPromise = new Promise((resolve) =>
  setTimeout(() => resolve(200), 200)
);

const thirdPromise = new Promise((resolve, reject) =>
  setTimeout(() => resolve(100), 100)
);

console.log(promiseRace([firstPromise, thirdPromise, secondPromise]))
  • Вопрос задан
  • 95 просмотров
Ответы на вопрос 2
coderisimo
@coderisimo Куратор тега JavaScript
Вот так, например :
Ответ написан
WblCHA
@WblCHA
Потому что сначала делается вот это:
function promiseRace(promises) {
let arr = [];
for (const elem of promises) {
elem
}
return arr[0]
}
console.log(promiseRace([firstPromise, thirdPromise, secondPromise])) // undefined

А потом вот это:
.then(() => {
arr.push(elem)
})
.then(() => {
arr.push(elem)
})
.then(() => {
arr.push(elem)
})
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы