我在nodejs服务器中遇到了一些异步函数的问题。这是我第一次处理try/catch块,但无法捕获被调用函数中的错误。
我的代码:
calledFunction: async function() { try{ //DO SOMETHING THAT RETURNS AN ERROR } catch(error) { //NEED TO CATCH THIS ERROR IN mainFunction() var error = {}; error.error = err.message; return error; } } mainFunction: async function () { try { await this.calledFunction(); return true; } catch(error) { var error = {}; error.error = err.message; return error } }
您需要重新检查catch块中的错误。
try{ //DO SOMETHING THAT RETURNS AN ERROR } catch(error) { //NEED TO CATCH THIS ERROR IN mainFunction() var error = {}; error.error = err.message; throw error; // Rethrow }
我的博客有 more info on using async/await with try/catch 如果你想了解更多。