这是有效的异步/等待逻辑:从另一个try / catch中调用try / catch吗?
//within async function...
try {
await asyncFunctionFirst();
} catch (errFirst) {
try {
await asyncFunctionSecond();
} catch (errSecond) {
// return errSecond response
}
//return errFirst response
}
//return response ok
答案 0 :(得分:2)
是的,它是有效的语法。但是我不会这样写。而是使用
try {
await asyncFunctionFirst();
return …; // response ok
} catch (errFirst) {
try {
await asyncFunctionSecond();
return …; // errFirst response
} catch (errSecond) {
return …; // errSecond response
}
}
(如果您还希望捕获…
部分的例外情况 - 如果没有,则您的版本没问题,有关替代方案请参阅here)