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