Sobes.tech
Middle

Նշեք թվերի արտածման կարգը կոնսոլում՝ օրինակով Promise, որտեղ կանչվում է reject, իսկ հետո ավելացվում են then, catch, finally մշակողները։

sobes.tech AI

Պատասխան AI-ից

Если Promise сразу вызывается с reject, а затем навешиваются обработчики then, catch, finally, порядок вывода будет следующим:

const p = new Promise((resolve, reject) => {
  reject('Ошибка');
});

p.then(() => console.log('then'))
 .catch(() => console.log('catch'))
 .finally(() => console.log('finally'));

В консоли выведется:

catch
finally

Объяснение:

  • При вызове reject промис переходит в состояние rejected.
  • then с первым аргументом для успешного результата пропускается.
  • catch срабатывает и выводит 'catch'.
  • finally срабатывает всегда, независимо от результата, и выводит 'finally'.

Обработчики then/catch/finally вызываются асинхронно после текущего стека, поэтому они сработают в порядке очереди микротасков.