微信小程序不使用promise监听后台接口请求完成

promise异步处理的神器,但是最近发现promise在处理微信小程序全局方法(app.js定义的方法)时就显的很鸡肋,为什么这么说呢?

众所周知,app.js和index.wxml(小程序首页)是同时进行加载的。这就会造成一个问题,那就是app.js中请求的后台接口,在index.wxml中是拿不到后台返回的数据的,因为是异步的,不确定何时返回,可能返回的时候index已经加载完成了。造成拿去后台返回的数据的时候报错,这时很多人就会想到用promise,可以,但是有没有发现使用promise 时,app.js调用一次,首页想要返回值时会再次调用,造成对后台请求频繁,如果是用户量较多的项目,那么就会对后台并发造成极大压力。因此我研究怎么才能监听接口的请求完成,后来发现回调函数真的很好用,代码如下

app.js在接口返回成功后创建一个回调函数

index.js(需要监听app.js后台请求成功的文件)

这样就实现了app.js后台异步操作执行完成,index.js自动监听回调的功能,避免了使用promise重复调用的问题。

除了后台请求可以用这种方法,几乎所有异步的操作都可以,例如音乐播放,视频播放这些。这里我就不一一举例了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值