$axios同步请求
时间: 2023-10-29 08:57:47 浏览: 221
在使用axios进行数据请求时,一般都是使用异步请求。然而,如果有特殊的项目需求需要同步请求,可以通过使用async和await来实现。
async用于声明一个函数是异步的,await用于声明在一个异步函数中等待语句执行完毕。也就是说,await只能在async函数中使用。基本用法是在一个async函数中使用await来等待axios请求的结果返回。
例如,可以在一个方法中声明为async,然后使用await等待axios请求结果:
```javascript
methods: {
async funA() {
var res = await axios.post('') //这里的res就是axios请求回来的结果
// 这里可以继续处理请求的结果
}
}
```
这样,你就可以在funA方法中同步地使用axios请求了。
然而,需要注意的是,如果在判断语句中使用async和await并不能实现同步请求。因为async和await只是对函数体内部执行顺序的控制,并不能改变整体的执行顺序。所以在判断语句中嵌套async和await并没有实现同步请求的效果。
如果你需要在判断语句中实现同步请求,你可以考虑使用其他的方法,比如Promise的链式调用或者使用回调函数来实现。这样可以更好地控制请求的顺序和同步性。
另外,你提到在开发动态表单时可能遇到需要发请求去获取select选项的值。在这种情况下,如果使用axios发请求,是会异步的。如果你需要实现同步请求,可以考虑使用其他的方法来处理,比如使用async和await来控制请求的顺序。
总之,通过使用async和await可以在axios请求中实现同步请求。但是在判断语句中嵌套async和await并不能实现同步请求的效果。如果有特殊的需求需要同步请求,可以考虑使用其他方法来处理。
阅读全文