JavaScript: Удобный Promise.allSettled

preview_player
Показать описание
🔗 Ссылки:

Рекомендации по теме
Комментарии
Автор

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

StrikerFeed
Автор

пошла неделя учителей с Promise.allSetled 😆

Maxim
Автор

Актуально только для случаев если нет зависимости второй асинхронной ф-ии от результата первой.

AlexeyYaricov
Автор

Надо бы все таки упоминуть, что последующая обработка allSelted обычно требует отдельной функции которая проверяет свойства в получившихся объектах. Так что конкретно в данном случае нужно просто обернуть обе в try catch. Чем проще и понятнее код - тем лучше.

ДенисБеспалов-пщ
Автор

Какое-то странное нагромождение если честно. Чтобы обработать режекты достаточно было просто обернуть в трай-кетч первый варик из последовательных эвейтов.
Единственное что можно подчерпнуть, это, наверное, возможность выкакать причины режектов n количества промисов в методе сразу всех, без трова ошибки в кетч на каком-то одном промисе, но все равно хз. Никогда не приходилось такого на работе делать, возможно в каком-то кейсе и понадобится

RageonGames
Автор

Смотрел курс по несту и подумал а почему бы вы не сделали видео об rxjs, я вот с ним вообще не умею работать

proletarian
Автор

Под оптимизацией обычно подразумевют изменения кода для того чтобы он либо быстрее выполялся либо жрал меньше ресурсов. Каким образом предлагаемые изменения могут повлиять на производительность в лучшую сторону?

EvgenOl
Автор

выполнять параллельно? все таски, как микро так и макро так и основной поток стоят в очереди.

СергейНикитин-поэ
Автор

Какая у вас тема, можете сказать ваши плагины для столь эстетичного вида ?

strtoboolea
Автор

Чтот за тема ide такая прикольная. Как называется?

reshetnikAlex
Автор

Подошёл к окну, закурил, долго думал, пошёл дальше писать на питоне

xximde
Автор

Используйте rxjs и будет вам счастье 😅

bukanaka
Автор

Зачем вообще в одном геттере два промиса да еще и в асинке

randyhardy
Автор

Настолько идеальный звук, что аж противно

vladimircreator
Автор

Вместо 2 строчек нагородил огородов на пол листа

ДонКристо-тя
Автор

да, только будьте готовы написать вот такой код, если используете TS
const get = async () => {
const [userResult, autoResult] = await Promise.allSettled([users(), autos()])

if (userResult.status === 'fulfilled') {
const users = userResult.value;
console.log('users', users);
} else if (userResult.status === 'rejected') {
const reason = userResult.reason;
console.error(reason);
}

if (autoResult.status === 'fulfilled') {
const autos = autoResult.value;
console.log('autos', autos);
} else if (autoResult.status === 'rejected') {
const reason = autoResult.reason;
console.error(reason);
}
}

ivanselyt