关键词: onLaunch onLoad 异步请求问题
问题:
在小程序启动时,我希望在app.js 的onLaunch生命周期里,调用后端接口,获取登陆状态token。
然后再加载首页,进入index.js时,携带此token,调用其它接口获取数据。
也就是说我希望的执行顺序是:
-
进入app.js 中 onLaunch
-
-
ajax获取token完成,保存在storage里
-
-
进入index.js 中 onLoad
-
-
从storage里获取到token
-
携带token调用其它接口
-
但实际上的顺序却是:
-
进入app.js 中 onLaunch
-
-
ajax获取token,发起请求开始...
-
-
进入index.js 中 onLoad
-
-
尝试从storage里获取token,但请求还没结束,token为空
-
携带token调用其它接口:失败,因为没有token
-
ajax获取token结束,保存在storage里(此时才获取到token,为时已晚)
-
解决方法是用回调,代码如下
app.j