我们有像
这样的axios方法export function callAcme(message) {
const requestUrl = `/api/acme/message`;
return {
type: ACME_MESSAGE,
promise: request.post(requestUrl, {
data: message
})
};
}
此方法映射到快速路由器方法,该方法调用第三方API以获取某些数据。
router.post("/acme/message", (req, res) => {
const { data } = req.body;
const url = "third/party/url/action;
authenticateThirdparty({
user: req.user
}).then(userToken => request({
method: "post",
url,
data: body,
baseURL: url,
"Content-Type": "application/json; charset=utf-8",
"Cache-Control": "no-cache",
headers: {
Authorization: `Bearer ${userToken}`
}
})).then((response) => {
res.status(200).send(response.data);
}).catch((error) => {
res.status(error.status).send(error.data);
});
});
第三方通话是在try catch
区块中进行的。但是id第三方方法引发了一些错误,然后我们无法将错误发送回发起axios
电话的网页。
即。在调用callAcme
的客户端中,不会返回错误对象。