Ошибки перехвата в обещании устранены с помощью объединения потоков в узле js - PullRequest
0 голосов
/ 20 декабря 2018

Мне нужно отлавливать ошибки, возникающие в потоке, в разрешении обещания.Что-то вроде

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 Ответ

0 голосов
/ 20 декабря 2018

Если вы окружите свой код попыткой уловки, вы по крайней мере увидите, в чем ваша ошибка:

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, если вы делаете ожидание.

...