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

Привет! кто может подсказать как типизировать Promise.all? к примеру: urls:

[
'url1',
'url2',
'url3',
'url4',
'url5',
'url6',
],
someMethod: async function () {
const requests = this.urls.map((url: string) =>
instance.get(url).then((r) => r.data)
);
return await Promise.all(requests);

21 ответов

28 просмотров

1. нет смысла писать return await, можно просто return. 2. Тип Promise.all это Promise<Result[]>, где Result - тип, в который резолвятся промисы, переданные аргументом в Promise.all

1. У него асинхронная функция, промис в промисе ж вернет

Vitaly-Sharøv Автор вопроса

там просто каждый промис разный результат возвращает

В теории можно как tuple типизировать

Promise.resolve( Promise.resolve( Promise.resolve(1) ) ).then(console.log)

М?

В чём твой поинт? async function () { return await Promise.resolve(1); } Эквивалентно async function () { const result = await Promise.resolve(1); return result; } Возвращает промис, который резолвится в 1. async function () { return Promise.resolve(1); } Возвращает промис, который резолвится в 1. => варианты одинаковы и await после return излишен.

Что в консоль выпадет?

1

И где промис в промисе?

Разве? Я был уверен, что он промис в промис в последнем случае обернёт

Можешь зайти в любую нормальную IDE, там даже красным подчеркнет и скажет, что await is reduntant

Ну это и не async функции, возврат промиса из коллбэка в then предусмотрен

А чем асинк функции отличаются?

Vitaly-Sharøv Автор вопроса

ws не подчеркивает

Если из async функции возвращается промис, то она возвращает его без изменений. В противном случае значение оборачивается в промис, который в него резолвится

Спасибо

¯\_(ツ)_/¯

Именно

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
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
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта