我已经使用 Node 大约一个月了,我想利用可用的最新功能,例如 Async/Await 样式,但我不喜欢将 try/catch block 与它一起使用。我一直在尝试制作某种包装器类和/或函数来包装异步/等待。
我使用 await-to-js npm 模块的解构逻辑来部分缓解 try/catch 的使用,但我对如何在不使用 es6 promises 的情况下在异步函数之外使用它感到有些困惑,以及如何我使用这种方法链接多个等待吗?
如果我做错了什么,任何帮助、建议或批评,我都非常感激。
最佳答案
避免在 async/await
中使用 try/catch
block 的一个很好的选择是创建一个用于错误处理的高阶函数:
function catchErrors(fn) {
return function(...args) {
return fn(...args).catch((err) => {
console.error(err);
})
}
}
async function asyncFunc(name, value) {
const a = await ...
const b = await ...
/* ... */
}
// Wrap it in an higher-order function
const wrappedAsyncFunc = catchErrors(asyncFunc);
wrappedAsyncFunc("lala", 4);
关于javascript - 异步/等待同时避免 Try/Catch block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48223180/