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

Всем привет! Есть код на асинхронном for, нужно его переписать

на map. На for`е все работает хорошо, все по порядку, дожидается результата и только потом переходит к следующему. Map, почему-то не дожидается и проходит все сразу (хотя в return у него await). Что я не знаю?

19 ответов

32 просмотра

Promise.all

map и не лолжен дожидаться, он не работает с промисами

Илюша 🎂
Promise.all

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

Dima- Автор вопроса
Dima
И тоже в ошибку

хорошая ошибка

Илюша 🎂
и в чем же он не прав?

Ему нужно последовательное выполнение. Если прочитать вопрос

Dima- Автор вопроса
Илюша 🎂
хорошая ошибка

Не понятная, поскольку с последовательным for все окей

Илюша 🎂
так у него сейчас так

Всё верно. Но хочет map вместо for. Модно молодёжно же

Dima- Автор вопроса
Bruian Blake
Всё верно. Но хочет map вместо for. Модно молодёжн...

Дело не в этом, мои навыки в асинхронности хромают и стоит задача вернуть results, когда ассинхронный for его заполнит, только этого не происходит и он, как я понял, возвращается сразу. Я решил использовать map

Dima
screenshot Дело не в этом, мои навыки в асинхронности хромают...

А почему ты не хочешь с этими вопросами в профильный чат @js_noobs_ru обратиться?

Dima- Автор вопроса
Bruian Blake
for await тут не нужен

А как с возвратом быть?

Dima
А как с возвратом быть?

Опечатался я. Не нужен for await. У тебя там судя по всему простой массив перебирается. Возврат ты делаешь в return

Dima- Автор вопроса
Dima
В самой функции await есть

Ну ладно, есть и есть… в for то зачем?

Dima- Автор вопроса

Я уже нашел решения, спасибо, @Bruian помог мне

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
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
Карта сайта