Vue 使用Axios实现同步请求

该篇博客探讨了如何使用Promise.all和async/await在JavaScript中实现异步请求的同步执行。通过示例展示了如何利用map和Promise结合处理多个异步操作,确保所有请求完成后执行特定的回调函数。同时,还提供了一个使用async函数实现同步调用的方法示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JS forEach发送请求实现同步

Promise.all(
          this.idList.map( ({id}) =>{
            return new Promise(async (resolve, reject) =>{
              await this.getA(id).then(() => {
                this.getB(id).then(() => {
                  this.getC(id).then(()=>{
                    resolve();
                  })
                });
              });
            })
          })
        ).then(() =>{
          //forEach循环请求结束后执行的方法
        })

参考 js forEach循环调用异步方法,如何实现同步

for循环请求同步

  methods: {
  	......
	    getList(ids) {
	      return new Promise((resolve, reject) => {
	      	//listByIds api.js中声明的接口
	        listByIds(ids).then(response => {
	          resolve(response);
	        })
	      })
	    },
	    getIds(){
	      return new Promise((resolve, reject) => {
	    	Ids().then(response =>{
	    		resolve(response);
	    	})
	      })
	    }
	
		async getDatas(){
			this.ids = await this.getIds();
			this.dataList = await this.getList(this.ids);
		}
	.....
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值