gpt4 book ai didi

javascript - 异步/等待同时避免 Try/Catch block ?

转载 作者:行者123 更新时间:2023-11-30 09:28:00 25 4
gpt4 key购买 nike

我已经使用 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com