Реализация Promise.race () - PullRequest
0 голосов
/ 24 мая 2018

Я сталкивался с реализацией метода Promise.race() в JavaScript, который работает, как и ожидалось, но не имеет для меня особого смысла.

const race = (...promises) =>
    new Promise((res, rej) => {
        promises.forEach(p => p.then(res).catch(rej));
});

Как работаетforEach цикл заканчивается назначением конкретного обещания функций?

1 Ответ

0 голосов
/ 24 мая 2018

По определению обещание разрешается / отклоняется только один раз, независимо от того, как часто вы звоните resolve или reject.Следовательно, обещание, которое вы строите, будет соответствовать тому, что разрешит первое обещание из переданных обещаний.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...