Js同步执行for循环遍历数组,同步删除多个文件注意点

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 同时删除多个文件的时候,就会遇到这个问题,不能同时发送请求删除,要一个一个删除,不然会发生冲突,所以:这一坨代码就是同步的了。

Js同步执行for循环遍历数组,同步删除多个文件注意点 - 悦略设计

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部