微信小程序写同步promise的最简单方法

第一次写微信小程序,被异步坑死了,异步是哪个运行的快就先运行了, 运行慢的慢慢运行完,所以根本不能按照程序编写顺序一步步运行正确。

在网上找了好久介绍,Async-await,Promise什么的,弄不清楚具体怎么写,后来终于弄清楚了,按顺序运行的Promise模板格式其实很简单!原理抛开,引用抛开,没有var。如下:

//new Promise模板
new Promise((resolve, reject) => {
   
	resolve(a)
}).then(res => {
   

})

模板之外不需要写另外的引用了,复杂的需要注意放resolve的位置,resolve表示传运行成功后的值a给then用。

例如云数据库数据一次只能查20个,需要循环查询再用concat拼合数组,但因为for异步,查询数据库总是慢的不一致,就导致按顺序查询出来的在拼合时乱了顺序,还需要全拼合完了再排序。因此需要用Promise确保查询完了,再resolve传递数组去排序。

上例提取可运行的代码片段展示太麻烦,就举个特简单的例子:

例如第一步是:

stepone: function() {
   
    console.log('stepone')
     this.setData({
   
       a: true
     }
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值