Sobes.tech
Middle

Déterminez l'ordre d'affichage des chiffres dans la console pour l'exemple avec Promise, où reject est appelé, puis les gestionnaires then, catch, finally sont attachés.

sobes.tech IA

Réponse de l'IA

Если 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 вызываются асинхронно после текущего стека, поэтому они сработают в порядке очереди микротасков.