JavaScript Worker.onerror — помилка у фоновому потоці


Обробник onerror спрацьовує, коли всередині робітника сталася помилка.

автор: NagarD

Загальний опис

Без нього помилки робітника зникають безслідно. Робітник тихо перестає відповідати, а в консолі — порожньо. Саме тому налагоджувати воркери без цього обробника — тортури.

Подія містить message, filename і lineno — тобто досить, щоб зрозуміти, де впало.

Окремо варто знати: помилка завантаження самого файлу (не знайдено, неправильний шлях) теж прилетить сюди. Це найчастіша причина «робітник не працює, і незрозуміло чому».

автор: NagarD

Нотатка

Завжди вішай onerror на робітника. Без нього збій у фоновому потоці не видно ніде — ані в консолі, ані в коді.

автор: NagarD

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
onerror 4+ 3.5+ 4+ 11.5+ 12+ 10+
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
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 });
автор: NagarD

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід