170 похожих чатов

Чисто на async/await можно сделать аналогично Promise.all() ?

16 ответов

18 просмотров

можно, создаешь все промисы сихронно, потом в цикли эвейтишь всё, они будут запущены одновременно, и дальше пойдет только когда кочатся всё

a-b Автор вопроса

Я имел в виду async функции. Как понять создаёшь синхронно? То есть вызвать эти функции без await и в цикле с этим работать? Проще на их промисах Promise.all() вызвать, тогда уж.

в цикле эвейтишь - это уже не как promise.all

Так должно упасть при первом же reject, а не дожидаться пока все выполняться

оно так и сделает

ты создаешь промисы заранее, в цикле просто ждешь их всех по 1, работать будет как промис олл

Ну напиши цикл, покажи, что имеешь в виду

кастомная очередь полезна когда задачи сваливаются в разное время

p1= fetch(url1) p2=fetch(url2) for(let p of [p1,p2]){ await p }

исходники v8

Исходный вопрос был написать promise.all используя await

да мне было интересно посмотреть как оно сделано. ну, как я понимаю, тот цикл с await p вполне аналогичен

За исключением того что в promise. All все промисы стартуют почти одновременно, а в цикле они стартуют последовательно

все промисы стартуют еще до запуска promise.all

Нет, твой цикл упадет только когда ты сделаешь await промиса, который reject

К примеру p2 сделал reject через 1 мс, но твой код не узнает об этом пока не завершиться p1

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта