【发布时间】:2020-05-13 02:14:15
【问题描述】:
我正在尝试设置一个基本的快速应用程序来使用 axios 获取一些 API 数据。我想以正确的方式做事,但我对错误处理有点迷茫。理想情况下,如果有错误,我想将它传达给用户,如果 API 调用在路由中,我可以这样做。但是如果它是一个单独的函数,你怎么做呢?
axios 使用异步调用函数:
const getForm = async () => {
try {
const config = {
method: 'get',
url: 'https://api.something.org/niceform'
}
}
const response = await axios(config)
return response
} catch (error) {
return error.message
}
}
快速路线:
app.get('/niceform', async (req, res) => {
try {
const data = await getForm()
res.send(data)
} catch (error) {
???
}
})
如果我理解正确,getForm() 函数将返回响应或错误,然后路由将发送返回的任何内容。但是路由的 catch 块有什么作用,我应该如何使用它呢?
这种设置是否被认为是一种好的做法? 任何建议将不胜感激,我仍在学习。
【问题讨论】:
标签: api express error-handling async-await axios