function promiseAll(promises) { return new Promise((resolve, reject) => { const results = []; let count = 0; if (promises.length === 0) return resolve([]); promises.forEach((p, i) => { Promise.resolve(p).then(value => { results[i] = value; if (++count === promises.length) resolve(results); }).catch(reject); }); }); }. Ключевые моменты: results[i] сохраняет порядок, count считает завершённые, первый reject отклоняет весь результат, Promise.resolve(p) для не-промисов, пустой массив — resolve сразу.
Как реализовать Promise.all?
Middle
299 просмотровAFK Offer AI
Как реализовать dark mode toggle?