我需要捕获在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()或函数调用中返回错误,但是我只得到未处理的 promise 拒绝
最佳答案
如果用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
。
关于node.js - 使用Node JS中的流串联解决Promise中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53866118/