uniapp 在app.vue中的异步请求完,页面中的onload或者onshow再请求(promise方法):
第一步:
在main.js里面注册 o n L a u n c h e d , onLaunched, onLaunchedisResolve

Vue.prototype.$onLaunched = new Promise(resolve => {
	Vue.prototype.$isResolve = resolve
})

第二步:
在app.vue中写请求,请求结束加上这个this.$isResolve()

	async onLaunch() {
			console.log('App Launch')
			// 小程序主动更新
			this.updateManager()
			await this.getStorge()
			await this.$store.dispatch('getPos')
			this.$isResolve()//请求结束加上这个
		},

第三步:
在页面的onShow或者onLoad加上await this.$onLaunched,记得页面onShow之前加async

	async onShow(options) {
			await this.$onLaunched
			console.log('Show')
		},
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐