JavaScript Worker.onerror — помилка у фоновому потоці
Обробник onerror спрацьовує, коли всередині робітника сталася помилка.
Загальний опис
Без нього помилки робітника зникають безслідно. Робітник тихо перестає відповідати, а в консолі — порожньо. Саме тому налагоджувати воркери без цього обробника — тортури.
Подія містить message, filename і lineno — тобто досить, щоб зрозуміти, де впало.
Окремо варто знати: помилка завантаження самого файлу (не знайдено, неправильний шлях) теж прилетить сюди. Це найчастіша причина «робітник не працює, і незрозуміло чому».
автор: NagarD
- Нотатка
-
Завжди вішай
автор: NagarDonerrorна робітника. Без нього збій у фоновому потоці не видно ніде — ані в консолі, ані в коді.
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| onerror | 4+ | 3.5+ | 4+ | 11.5+ | 12+ | 10+ |
| Переглядач | ||||
|---|---|---|---|---|
| onerror | 4.4+ | yes | yes | 5+ |
Приклади
+ запропонувати свій приклад у пісочниці
Без цього обробника помилки просто зникають.
const worker = new Worker('/worker.js');
// БЕЗ ЦЬОГО помилки зникнуть безслідно
worker.onerror = event => {
console.error(
'Помилка в робітнику:',
event.message,
'у', event.filename + ':' + event.lineno
);
// не знайшли файл? теж сюди
worker.terminate();
};
worker.postMessage({ start: true });
Коментарі
Коментарів ще немає — будьте першим!