Axios 中的 then() 函数介绍和使用
Axios 请求实际上是 promises 。 这意味着您可以将它们与 Promise 链接 和 async/await 一起使用。
const axios = require('axios');
const req = axios.get('https://httpbin.org/get?hello=world');
req instanceof Promise; // true
const res = await req;
res.data.args; // { hello: 'world' }
return req.then(res => {
res.data.args; // { hello: 'world' }
});
处理错误
Axios 在服务器响应 HTTP 成功代码 ,或在服务器以 HTTP 错误响应时拒绝请求承诺。如果发生错误,您可以使用 .then()
或者 .catch()
。
const axios = require('axios');
const err = await axios.get('https://httpbin.org/status/404').
then(() => null, err => err);
err.response.status; // 404
err.response.statusText; // 'NOT FOUND'
Axios 请求立即执行
你 不需要 调用 .then()
或者 .catch()
执行 Axios 请求。 Axios 会立即自行执行请求。所以即使你不调用 then()
,您的服务器仍会收到请求。
const axios = require('axios');
const express = require('express');
// Create a dummy Express server that stores all inbound
// requests
const app = express();
const requests = [];
app.get('*', function(req, res) {
requests.push(req);
res.json({ ok: 1 });
});
const server = await app.listen(3000);
// Send a request without calling `then()`.
axios.get('http://localhost:3000');
// The server got the request.
await new Promise(resolve => setTimeout(resolve, 100));
requests.length; // 1
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: 使用 axios 设置授权头
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论