LINUX.ORG.RU

История изменений

Исправление vbr, (текущая версия) :

В MDN есть отличное описание всего API, связанного с веб-технологиями.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise

В частности описание метода catch:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/catch

Результат catch это Promise, который либо fulfilled с возвращенным значением из функции, переданной в catch, либо rejected, если переданная функция выбросила исключение. Ну т.е. в случае пустой функции это будет fulfilled promise с undefined значением.

Вроде всё чётко и понятно.

Если вдруг не понимаешь этого момента - на один промис можно навешивать сколько угодно catch-ей и тд. И все они будут вызваны. Т.е. в данном случае мы навешиваем пустой catch только чтобы эту диагностику подавить, а в дальнейшем allSettled повесит свой обработчик рядом с нашим пустым, и это всё сработает как ожидается.

Бездумно чейнить вызовы не стоит, это да. Надо понимать, что где возвращается. Но блин, там API буквально из трёх методов состоит. И это можно сказать базовое API для современного JS. Можно один раз и прочитать.

Исходная версия vbr, :

В MDN есть отличное описание всего API, связанного с веб-технологиями.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise

В частности описание метода catch:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/catch

Результат catch это Promise, который либо fulfilled с возвращенным значением из функции, переданной в catch, либо rejected, если переданная функция выбросила исключение. Ну т.е. в случае пустой функции это будет fulfilled promise с undefined значением.

Вроде всё чётко и понятно.