我有很多个请求,会一次性全发出去,然后全部为等待状态,造成代码异步。请问怎么把axios请求改为同步的,也就是一个请求完成,再发送下一个请求?
我需要的是,这些请求全部请求完了,再返回一个list给我,里面包含所有的result
注:请求数量不确定,参数也都不确定,现在是for循环去请求的。
我有很多个请求,会一次性全发出去,然后全部为等待状态,造成代码异步。请问怎么把axios请求改为同步的,也就是一个请求完成,再发送下一个请求?
我需要的是,这些请求全部请求完了,再返回一个list给我,里面包含所有的result
注:请求数量不确定,参数也都不确定,现在是for循环去请求的。
现在可以用async/await来做:
async methods(){
await let a = axios.get(`XXXXX`)
await let b = axios.get(`XXXXX`)
}
function axiosGet() {
return axios.get('/api/your-special-url/', {
params: {
id: this.id,
}
})
.then((response) => {
console.log(response.data);
this.valid = response.data.unique;
return this.valid;
})
}
this.axiosGet()
.then((valid) => {
if(valid) {
console.log('axios get request over, and return valid to the sync code.')
}
})
8 回答4.1k 阅读✓ 已解决
6 回答2.5k 阅读✓ 已解决
5 回答2.3k 阅读✓ 已解决
5 回答5.9k 阅读✓ 已解决
4 回答2k 阅读✓ 已解决
3 回答2.1k 阅读
4 回答2.6k 阅读✓ 已解决
使用axios.all可以实现当多个ajax请求全部完成的时候,才触发回调。参考:https://www.npmjs.com/package...