我在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
}
}
答案 0 :(得分:0)
您需要在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。