JavaScript · Senior · Запитання 4 з 75

Чому проміс нижче ніколи не відхилиться?

new Promise((resolve, reject) => {
  setTimeout(() => { throw new Error("boom"); }, 0);
});

Пояснення

Автоматично на відхилення перетворюються лише синхронні винятки виконавця. Помилка в колбеку таймера виникає пізніше, в окремій задачі: вона стане глобальною необробленою помилкою, а проміс назавжди лишиться pending. Треба викликати reject явно.

Де почитати

Помилка в запитанні

JavaScript · Senior · запитання 4

Перевірте себе

Пройдіть тест JavaScript · Senior: запитання й варіанти перемішуються, а наприкінці - розбір помилок.

Пройти цей тест