Ошибки перехвата в обещании устранены с помощью объединения потоков в узле js
Мне нужно отлавливать ошибки, возникающие в потоке события в разрешении обещания. Что-то вроде
function foo(){
return new Promise((resolve,reject) => {
resolve(res.pipe(transfomrStream).pipe(through2.obj(function(obj, enc, callback) {
on('end', ()=>{
await httpReq(...)
.then((crudRes) => assert.strictEqual(somerthing))
})
)
})
})
}
как я могу поймать провал утверждения? Я пытался вернуть ошибку в последнем pipe() или при вызове функции, но я получаю только необработанное отклонение обещания
1 ответ
Если вы окружите свой код попыткой catch, вы сможете хотя бы увидеть, в чем ваша ошибка:
function foo(){
try{
return new Promise((resolve,reject) => {
resolve(res.pipe(transfomrStream).pipe(through2.obj(function(obj, enc, callback) {
on('end', ()=>{
await httpReq(...)
.then((crudRes) => assert.strictEqual(somerthing))
})
)
})
})
}
catch(e) {
console.log(e)
reject()
}
}
Кроме того, если у вас есть await
вы не можете использовать .then()
, И вам придется сделать свою функцию async
если делаешь, жди.