vue/uniapp 如何让页面的 onLoad 在 onLaunch 之后执行[通俗易懂]

app.vue里的onLaunch中如果有异步方法(比如:登录),返回结果可能会在页面的onLoad之后,但onLoad中的方法需要登录回调的结果。为了让页面的onLoad在onLaunch之后执行,解决方案:1.main.js添加代码Vue.prototype.$onLaunched=newPromise(resolve=>{Vue.prototype.$isResolve=resolve;})2.在App.vue的onLau

大家好,又见面了,我是你们的朋友全栈君。

app.vue里的 onLaunch 中如果有异步方法(比如:登录),返回结果可能会在页面的 onLoad 之后,但 onLoad 中的方法需要登录回调的结果。

为了让页面的 onLoadonLaunch 之后执行,解决方案:

1. main.js 添加代码

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

2. 在 App.vue 的 onLaunch 中添加代码 this.$isResolve()

onLaunch: function() { 
   
	// 登录
	uni.login({ 
   
		provider: 'weixin',
		success: (loginRes) => { 
   
			this.$axios({ 
   
				url: '/xxxx/auth',
				params: { 
   
					code: loginRes.code
				}
			}).then(res => { 
   
				try { 
   
					uni.setStorageSync('token', res.data.token);
					this.$isResolve();
				} catch (e) { 
   
					console.error(e)
				}
				
			})
		}
	});
}

3. 在页面 onLoad 中添加代码 await this.$onLaunched

async onLoad() { 
   
    // 等待登录结果返回
    await this.$onLaunched;
	
    // 处理后续业务逻辑(此时已存在token值)
    console.log(uni.getStorageSync('token'));
    this.getData();
},
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/129636.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pytest运行_python缓存机制

    pytest运行_python缓存机制前言pytest运行完用例之后会生成一个.pytest_cache的缓存文件夹,用于记录用例的ids和上一次失败的用例。方便我们在运行用例的时候加上–lf和–ff参数,快速运行上一

    2022年7月29日
    8
  • OKhttpClient 简单使用总结「建议收藏」

    http优化,由httpClient改为OKHttpClient,研究了一下,网上资料不多大部分是安卓的,就着httpClient的入参简单写了一个公共方法,因为上一层使用了hystrix,就没有使用异步调用。后期看业务需要增加OKHttp的拦截和其他特性。注意请求timeout报java.io.InterruptedIOException:threadinterrupted异常,希望最新…

    2022年4月16日
    51
  • 使用多重循环打印平行四边形「建议收藏」

    packagecom.qfedu.test1;/*** 使用多重循环打印平行四边形* 当我们打印三角形的时候:* 1.观察第一行符号的个数,第一行符号的个数决定了循环计数器的初始值* 2.观察形状符号的个数是越来越多的话就++越来越少就–* 3.当计数器变化为++的时候判断条件一定要小于或者小于等于某个值相当于设定一个上限* 4.当计数器变化为–的时候判断条件一定要大于或者大于等于某个值相当于设定一个下限*/publicclassT

    2022年4月7日
    73
  • idea2023 永久激活码【在线注册码/序列号/破解码】

    idea2023 永久激活码【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
    63
  • 首个可用于深度学习的ToF相关数据集!基于置信度的立体相机以及ToF相机深度图融合框架…

    首个可用于深度学习的ToF相关数据集!基于置信度的立体相机以及ToF相机深度图融合框架…点击上方“计算机视觉工坊”,选择“星标”干货第一时间送达作者|cocoon编辑|3D视觉开发者社区目录✦contents1.概述2.方法以及网络结构2.1使用网络学习置信度2.1.1训练细节2.2双目以及ToF视差的fusion3.合成数据4.实验结果4.1测试集场景4.2置信度估计结果4.3视差估计定性以及定量结果5.参考文献附录:数据…

    2022年5月25日
    38
  • VS配置管理器

    VS配置管理器可以在VS的配置管理器中,配置当前活动解决方案采用debug和release模式,还可以设置活动解决方案平台,即win32或x64。还可以配置整个解决方案哪些项目需要生成,哪些不用,在多项目编译时间较长的情况下还是挺有作用的。

    2022年7月20日
    16

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号