axios 请求是异步的,需要结合 async、await 一起使用才能实现同步请求

async functionA("参数") { await 请求方法B("url",{parm:"参数"}).then(res=>{ //数据处理 }); await 请求方法C("url",{parm:"参数"}).then(res=>{ //数据处理 }); }

如上代码,请求方法B是异步的,结合 async、await 一起使用后,可以实现同步执行,程序会先执行“完请求方法B”,再去执行“请求方法B”。

需要注意的是,上面的代码只是针对 “functionA” 内部写了 await 关键字的请求方法才是同步执行的,如果在其他方法调用 “functionA” ,那么 “functionA” 还是异步的,如

functionB() { for(let i = 0; i arr.length; i++) { functionA(arr[i]); }}

上面的代码,有可能先执行 functionA(arr[1]),也有可能先执行完functionA(arr[5]) ,如果要改成按数组下标顺序执行,也要结合 async、await 一起使用

async functionB() { for(let i = 0; i arr.length; i++) { await functionA(arr[i]); }}

 在使用Github api 同时删除多个文件的时候,就会遇到这个问题,不能同时发送请求删除,要一个一个删除,不然会发生冲突,所以:这一坨代码就是同步的了

【免责声明】本文由悦略设计发布,仅供学习参考,其版权归原作者所有;所有文章和评论均不代表本站观点;请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗、后果自负,一切与本站无关且不承担任何责任!如需转载,要注明原作者和来源;如发现有害或侵权内容,请点击[留言咨询]或联系我们删除![查看更多]