【发布时间】:2021-08-31 13:38:30
【问题描述】:
我有一个简单的 POST 函数,使用 axios.post 发送电子邮件。它工作正常,但我无法捕获错误。
两种方法我都试过了,都没有成功:
export async function postEmail(data) {
const { subject, message, emailAddress } = data
const body = {
email: emailAddress,
subject: subject,
message: message
}
const url = process.env.EMAIL_API_URL
const response = await axios.post(url, body)
if (response.status === 200) { return response }
else { throw 'Something wrong' }
}
并承诺尝试:
export function postEmail(data) {
const { subject, message, emailAddress } = data
const body = {
email: emailAddress,
subject: subject,
message: message
}
const url = process.env.EMAIL_API_URL
return new Promise((resolve, reject) => {
try {
const response = axios.post(url, body)
resolve(response)
} catch (error) {
console.log(error)
reject(error)
}
})
}
【问题讨论】:
-
axios.post已经返回了一个承诺,这就是它与await一起工作的原因。 -
“两种方法都试过了,但都没有成功” - 请告诉我们你打电话给
postEmail的方法。你想捕捉什么错误,你想用它们做什么?
标签: javascript reactjs promise