0

我需要在 Promise 解析中捕获流事件中引发的错误。就像是

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()或函数调用中返回错误,但我只得到未处理的承诺拒绝

4

1 回答 1

0

如果你用 try 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如果您正在等待,您将不得不执行您的功能。

于 2018-12-20T10:40:38.120 回答