关于openid获取时长

来源:5-1 发现页面分析

慕UI5549312

2021-02-19

谢老师过年好!
我希望用户进入程序,在首页中就能根据他的openid显示他账户在数据库中的相关信息。
但是发现,在app. js的onLaunch中调用云函数获取openid需要时间(从500到最多5000毫秒不等,平均1000毫秒左右),在首页的onLoad中使用openid时,很多时候拿不到结果。或者说,app. js的onLaunch还没有把从云函数返回的openid赋值给全局变量,那边首页的onLoad就已经执行完了。
我试了试增加一个页面,让用户点一下,相当于延时,基本上就够收到openid了,但是这样用户体验不好。
请问老师,这个问题一般怎么处理呢?

写回答

2回答

谢成

2021-02-19

使用promise,获取openId的函数return new Promise() ,在调用的地方的then中就能取到返回值了。

0
2
慕UI5549312
我先认真学习一下异步操作和promise的使用:)
2021-02-19
共2条回复

谢成

2021-02-19

不是在云函数中使用promise。

是在app.js中,调用云函数的时候,外面包一层promise。


学习promise可以看下我另一门语法课程对应的电子书:http://es.xiecheng.live/es6/promise.html


0
1
慕UI5549312
做了些练习,终于对promise和异步执行的顺序问题有一点初步的了解了。 中间耽误时间的,最终发现都是JS以及编程的基础太差哈哈。 谢谢老师了!
2021-02-21
共1条回复

微信小程序云开发-从0打造云音乐全栈小程序

横跨小程序端、云后端、CMS一站式云开发的小程序全栈课程

1938 学习 · 2768 问题

查看课程