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

如果你用 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

相关内容

  • 没有找到相关文章

最新更新