提高页面数据绑定异步执行效率的一种方式

使用场景:

假如一个页面有多个异步的操作,并且他们之间没有依赖关系。

使用语法:

第一种方式:

async getOrderStatus () {
	const appointWithMeStatus = Order.getOrderStatus(roleType.PUBLISHER)  //假如响应时间为6秒
	const myAppointStatus = Order.getOrderStatus(roleType.CONSUMER)  //假如响应时间为4秒
	this.setData({
	    appointWithMeStatus: await appointWithMeStatus,
	    myAppointStatus: await myAppointStatus
	})
},

分析:

相信大部分人之前都是这样一种调用方式
第二种方式:

async getOrderStatus () {
	const appointWithMeStatus = await  Order.getOrderStatus(roleType.PUBLISHER)  //假如响应时间为6秒
   	const myAppointStatus = await  Order.getOrderStatus(roleType.CONSUMER)  //假如响应时间为4秒
  	this.setData({
       appointWithMeStatus: appointWithMeStatus,
       myAppointStatus: myAppointStatus
   })
},

先不考虑数据绑定花费的时间:两步异步调用都是转同步调用。在第一步执行完毕后才会去执行第二步的操作。因此,这种方式响应的总时间应该为6+4=10秒

而第一种的方式:前两步都是异步调用,所以响应时间因该等于其中响应时间最长的那一步操作,即第一步的6秒。这种方式大大提高了异步加载的效率。

其实这也是一个面试问题:在引入async/await机制后,如何解决多个异步执行效率的问题?我们就可以用第一种的方式来解答。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值