当对 async/await
请求使用 try/catch
时,需要对结果执行一些逻辑,哪里是执行此操作的最佳位置逻辑?我有这样的功能
function synchronousTransform (data) {
return data.reduce( n => n * 2)
}
async function requestFn () {
try {
const myPromisedValue = await axios.get(url)
const result = synchronousTransform(myPromisedValue.data)
res.status(200).send(result)
} catch (xhrError) {
res.status(500).send(xhrError)
} finally {
console.log('done')
}
}
似乎 synchronousTransform
中的某些内容无法正常工作,我收到了错误。但是,我在 try/catch block 中看到的唯一问题就像是 XHR 的问题。如何隔离 synchronousTransform
的功能,以便我可以看到它导致的实际异常?
最佳答案
您在第一行有 await
关键字,但在调用 synchronousTransform
时没有。
这意味着它的执行可能会在发送响应后结束,并且您已经离开了 try/catch 部分。
你遗漏了它的内部代码,所以不能说它是否返回一个 promise ,但它在调用它时应该有 await
。
关于javascript - try/catch 中的异步/等待在等待解决后未显示处理逻辑中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46635786/