axios进⾏同步请求(async+await)
介绍
Axios 是⼀个基于 promise 的 HTTP 库,它⽀持  API。
像这样:
axios.post('getsomething').then(
res => {
// 进⾏⼀些操作
}
)
⽽ async/await 是⼀种建⽴在Promise之上的编写异步或⾮阻塞代码的新⽅法。async 是异步的意思,⽽ await 是 async wait的简写,即异步等待。
所以从语义上就很好理解 async ⽤于声明⼀个函数是异步的,⽽await ⽤于等待⼀个异步⽅法执⾏完成。
那么想要同步使⽤数据的话,就可以使⽤ async+await 。
代码⽰例
模拟⼀次异步请求
// 假设这是我们要请求的数据
function getSomething(n) {
return new Promise(resolve => {
// 模拟1s后返回数据
setTimeout(() => resolve(222), 1000);
});
}
function requestSomething() {
console.log(111);
getSomething().then(res => console.log(res));
console.log(333);
}
requestSomething() //这个时候会输出 111,333,222
// 如果想要等数据返回后再执⾏后⾯的代码,那么就要使⽤ async/await
async function requestSomething() {
console.log(111);
// 这时something会等到异步请求的结果回来后才进⾏赋值,同时不会执⾏之后的代码
const something = await getSomething();
console.log(something)
console.log(333);
}
requestSomething() //这个时候会输出 111,222,333
介绍
Axios 是⼀个基于 promise 的 HTTP 库,它⽀持  API。
像这样:
axios.post('getsomething').then(
res => {
// 进⾏⼀些操作
}
)
⽽ async/await 是⼀种建⽴在Promise之上的编写异步或⾮阻塞代码的新⽅法。async 是异步的意思,⽽ await 是 async
wait的简写,即异步等待。
所以从语义上就很好理解 async ⽤于声明⼀个函数是异步的,⽽await ⽤于等待⼀个异步⽅法执⾏完成。那么想要同步使⽤数据的话,就可以使⽤ async+await 。
代码⽰例
模拟⼀次异步请求
await和async使用方法
// 假设这是我们要请求的数据
function getSomething(n) {
return new Promise(resolve => {
// 模拟1s后返回数据
setTimeout(() => resolve(222), 1000);
});
}
function requestSomething() {
console.log(111);
getSomething().then(res => console.log(res));
console.log(333);
}
requestSomething() //这个时候会输出 111,333,222
// 如果想要等数据返回后再执⾏后⾯的代码,那么就要使⽤ async/await
async function requestSomething() {
console.log(111);
/
/ 这时something会等到异步请求的结果回来后才进⾏赋值,同时不会执⾏之后的代码
const something = await getSomething();
console.log(something)
console.log(333);
}
requestSomething() //这个时候会输出 111,222,333

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。