钉钉小程序如何解决页面加载完之后才获取到数据的问题,如何在 onLaunch 获取到后端数据之后再执行 onLoad

news/2024/7/20 2:33:21 标签: 钉钉, 小程序, 前端

我们通常会遇到这样的问题:页面加载完成之后,接口请求的数据才请求回来,此时页面已经渲染完成了,所以,数据请求回来的太晚,就不会被渲染到页面上。

 所以这个问题的另外一种的表示就是:如何在 onLaunch 获取到后端数据之后再执行 onLoad


我们以一个具体的案例来说明这个问题:

当我们进入到一个企业内部的小程序的时候,小程序会获取到登录者在企业中的个人信息,当拿到用户的 token 以后,会将 token 存到本地,然后才会进入到小程序的首页,通过携带 token 去请求首页用到的信息并展示。

所以理想状态是这样的:

1、点击小程序,进入到 app.js 中的 onLaunch 

2、通过钉钉的免登录或者发送 ajax 请求获取到登录者的 token 并存储到本地

3、进入到首页 index.js 中的 onLoad 

4、从本地获取 token ,携带 token 调用首页需要用到的信息进行展示

可残酷的现实是这样的:

1、点击小程序,进入到 app.js 中的 onLaunch 

2、通过钉钉的免登录或者发送 ajax 请求获取到登录者的 token 并存储到本地,可是因为 app.js 加载速度要比 index.js 慢,所以请求一直在发送中.....

3、进入到首页 index.js 中的 onLoad 

4、从本地获取 token (因为请求还在发送中,所以此时本地还没有 token)

5、携带 token 调用首页需要用到的信息进行展示(此时页面已经展示完成了,才刚刚获取到请求回来的 token,请求回来的信息根本就渲染不到页面上)

解决方法:利用回调

app.js 

 index.js

 注意:这里一定要单独写一个方法,然后在 onLoad 里面调用,不然不起效果

这篇文章就到这里了,整体的思路来自于这篇博客,大致就是这种思想,不过具体的代码会有出入,感兴趣的小伙伴可以去看看 60岁老猿:微信小程序 如何等待onLaunch拿到后端数据后,再执行onLoad


http://www.niftyadmin.cn/n/197148.html

相关文章

NDK RTMP直播客户端一

在之前完成的实战项目【FFmpeg音视频播放器】属于拉流范畴,接下来将完成推流工作,通过RTMP实现推流,即直播客户端。简单的说,就是将手机采集的音频数据和视频数据,推到服务器端。 接下来的RTMP直播客户端系列&#xff…

磁共振成像(MRI)连接组学的应用

前言 如何将磁共振成像(MRI)连接组学应用于研究典型的大脑结构和功能,并在临床环境中用于诊断、预后或治疗?本文将讨论MRI连接组学在评估功能和结构连接方面的可能应用。简而言之,功能连接是一种测量功能磁共振(fMRI)衍生的血氧水平依赖(BOL…

Python 摄氏温度转华氏温度、Python3 os.rename() 方法

Python 摄氏温度转华氏温度 以下实例演示了如何将摄氏温度转华氏温度: # -*- coding: UTF-8 -*-# Filename : test.py # author by : www.w3cschool.cn# 用户输入摄氏温度# 接收用户收入 celsius float(input(输入摄氏温度: ))# 计算华氏温度 fahrenheit (celsiu…

IOT设备申请work with google assistant

For Cloud-to-cloud integration, refer to https://developers.home.google.com/cloud-to-cloud/checklist#certify_launch For Matter integration, please refer to https://developers.home.google.com/matter/certification#wwgh_certification

[SCTF2019]creakme1

creakme1 题目下载:下载 载入IDA,看main函数 首先调用了GetModuleHandleW,用来获取应用进程或动态链接库的模块句柄,紧接着调用了2个函数。 先看第一个sub_402320(v3),将获得的句柄作为参数 与其匹配的是.SCTF区块&#xff0…

OpenCV实战(16)——角点检测详解

OpenCV实战(16)——角点检测详解 0. 前言1. Harris 特征检测器1.1 检测 Harris 角点1.2 cv::cornerHarris 函数参数2. 可追踪的良好特征3. 特征检测器的通用接口4. 完整代码小结系列链接0. 前言 在计算机视觉中,兴趣点 (interest points) 也称为关键点 (keypoints) 或特征点…

【数据结构】二叉树——堆

目录 1 二叉树的存储结构 1.1 顺序存储 2 二叉树的顺序结构及实现 2.1 二叉树的顺序结构 2.2 堆的概念及结构 2.3 堆的实现 2.3.1堆向下调整算法 2.3.2堆的上调算法 2.3.3堆的创建 2.3.4建堆时间复杂度 2.3.5堆的插入 2.3.6堆的删除 2.3.7堆的代码实现 3 堆的应用…

【华为机试真题详解JAVA实现】—整数与IP地址间的转换

目录 一、题目描述 二、解题代码 一、题目描述 原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成 一个长整数。 举例:一个ip地址为10.0.3.193 每段数字 相对应的二进制数 10 000…