我发现一个问题是这样的
应用生命周期App.vue onShow
页面生命周期home.vue onShow
我在App.vue onShow中执行刷新token操作,但是由于uni.request是异步的,这样就导致一个问题,刷新token操作可能并没有执行完成,就进入home.vue的onShow方法中了,在home.vue onShow方法中,有一些request请求,由于token并没有刷新完成,就会照成home.vue request请求会失败! App.onShow 方法内容如下:
onShow: function() {
console.log('App Show');
let that = this;
let applogon = new AppLogin();
// 获取登录信息 每次app展示到前台时,重新获取访问token
applogon.refreshAccessToken()
.then(function(){
console.log('获取用户信息');
applogon.getUserInfo();
}, function(){
console.log('不能获取登录信息需要登录')
that.goLogin();
}).finally(function(){
done = true;
console.log('获取用户完成')
});
}
请问: 没有办法保证App.onShow 方法里面包括异步的uni.request 都执行完成后,才进入home.vue 的onShow方法呢?
uniapp棒棒的
请问要如何实现呢?如果要直接打开其它页面,是不是每个页面都要通知一下?
2019-11-24 20:20