Как предотвратить смерть основной нити после того, как какой -то работник бросает ошибку?Javascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Как предотвратить смерть основной нити после того, как какой -то работник бросает ошибку?

Сообщение Anonymous »

Не могу найти ответ о том, как сохранить мой основной поторок после того, как некоторые рабочие потоки бросили ошибку? В качестве иллюстрации я могу предоставить что -то вроде этого: < /p>

Код: Выделить всё

// this is the main thread
for await(const something of someAsyncIterator){
const worker=new Worker('worker.js',{type:'module'})
worker.onerror=()=>{
worker.terminate()
console.log('Error is handled, show must go on!')
}
console.log(`
Some other stuff is cycling on here
but the workers revolution is going to kill me
by throwing some error at my face! Save me!
`)
}

// this is worker.js
throw '*Evilishly laughing*'

// and this is what im getting in my console
error: Uncaught (in worker "") (in promise) "*Evilishly laughing*"
error: Uncaught (in promise) Error: Unhandled error in child worker.
at Worker.#pollControl (ext:runtime/11_workers.js:204:19)
at eventLoopTick (ext:core/01_core.js:178:7)
Press any key to continue . . .
im использую Deno в частности, но я думаю, что это поведение V8.

Подробнее здесь: https://stackoverflow.com/questions/796 ... s-an-error
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»