举个例子:
比如onLoad里面的操作是发送用户登录信息,然后onShow是获取用户的一些数值,页面每次切换,不管是navigatorTo还是back都要读取一次用户数值,那么这个读取函数是放在onShow里面的,但是并不需要页面每次切换都需要发送用户登录信息。所以登录函数和获取函数是分别放在onLoad和onShow里面的。
1、即onLoad函数里面有个获取openid的异步函数
2、onShow函数里面有个依赖于onLoad获取到的openid发起另一个请求
但是onLoad往往还没执行完,就开始了onShow的操作,但这个时候openid是空的。
请问解决办法有哪些?
如果用Promise来解决的话,如何实现跨onLoad和onShow函数?
this .getOpenId((openid) => { this .load() this .show() }) }, onShow: function () { this .getOpenId(()=> { this .show() }) }, getOpenId: function (callback) {
}, load: function () {}, show: function () {}, |
再加上阻止同时运行的判断就差不多可以了