微信小程序的同步操作
2023-09-27 14:23:27 时间
小程序里,大多数操作都是异步操作,一些重要的操作,如从网上获取重要变量值,必须要保证有值,后续操作才有意义。但异步操作,又必须把处理放到回调中,代码可读性降低,而且和大多数正常逻辑相背。
折腾了两天,试了一些方法,记录一下:
1、最简单,用while循环等待,发现基本上卡死
2、灵机一动,用showToast自带的超时功能,循环等待,也不行。因为showtoast是异步执行的。其他的showModel都是异步执行的,显示了弹窗后,代码仍然会向后执行的。
3、网上找到,用Promise,太复杂,不想这么做
最后,用这个方式初步解决,在用数据前,判断变量是否存在,如果没有,则显示提示,退出,并在一定时间后重新进入本函数(onShow):
console.log("xunhuan", app.tags) if (app.tags.length == 0) { wx.showToast({ title: '正在下载数据!', image: "/remind.png", duration: 500 }) console.log("jieshu", app.tags) setTimeout(this.onShow, 500) return } console.log("after", app.tags)
但在每个地方都放这么多代码,太难看。想着在app.js里面,onShow的地方加一个,结果还是不行。因为即使在这里循环检查,但由于异步执行,代码仍然会正常执行到具体页面。看来,还得把检测代码放到具体处理中。
相关文章
- 微信小程序view不能换行 text实现转义换行符
- 微信小程序bindtap与catchtap的区别【转】
- 微信小程序校园论坛+后台管理系统|前后分离VUE
- 微信小程序车辆登记+后台管理系统
- 精品基于Python实现的微信小程序校园导航系统
- 微信小程序车辆登记+后台管理系统
- 微信小程序私教预约管理系统+后台管理系统
- 精品微信小程序ssm的婚庆摄影网站+后台前后分离VUE
- 精品微信小程序家教信息管理系统|招聘求职兼职+后台|前后分离VUE
- 基于Nodejs的电影购票微信小程序的设计和实现
- 微信小程序心理健康服务平台+后台管理系统|前后分离VUE
- 微信小程序 switch 样式
- 微信开发核心AccessToken实现
- 微信开发SDK java版,支持maven;微信Java开发工具包,支持包括微信支付、开放平台、公众号、企业微信/企业号、小程序等微信功能模块的后端开发。
- 微信开放平台开发——网页微信扫码登录(OAuth2.0)
- 微信、支付宝个人收款的一种实现思路
- 【玩转微信公众平台之中的一个】序章(纯粹扯淡)
- DockOne微信分享(九十七):现有系统实施微服务架构改进经验分享
- 新手尝试编写微信小程序(4)——我的第一个微信云开发小程序
- 微信小程序开发之如何哪获取微信小程序的APP ID
- 把Flutter扩展到微信小程序端的探索
- 微信小程序----App生命周期
- 微信小程序自定义组件实现 tabBar、navBar
- 微信公众账号开发教程(二) 基础框架搭建——转自http://www.cnblogs.com/yank/p/3392394.html