[vue] 如果将axios异步请求同步化处理?
Activity
zyronon commentedon Jul 7, 2019
async ,await
HeMin0919 commentedon Jul 27, 2019
guoyiheng commentedon Jul 30, 2019
async ,await
Generator函数
回调里面写回调
hyj443 commentedon Oct 21, 2021
同步的axios.get调用返回的是一个状态为pending的promise,等异步请求有了结果,这个promise的状态就会settled,要么成功要么失败了
最好对axios.get进行一层promise的封装,单独写在一个文件里,对它的返回结果调用then,在成功回调中solve,在失败回调中reject
异步有了结果后,res就能拿到成功的response,没有结果的时候
this.tableData = res.data.result
代码是阻塞不执行的这种async await的写法,只是写法上同步化了
Cai-zhiji commentedon Jul 7, 2023
使用async/await结合Promise来实现一种类似同步的代码风格,使代码看起来更加同步化。
定义一个异步函数:
在合适的地方(如Vue组件的方法中)定义一个异步函数,用于执行异步操作。
调用异步函数:
在需要执行异步请求的地方,调用定义的异步函数。
通过使用async/await,你可以在异步请求的地方使用await关键字等待异步操作的完成,并根据结果进行后续处理。但请注意,这仅是一种语法糖,实际上仍然是异步执行的,不会阻塞JavaScript的执行。