当前位置: 首页 > news >正文

UniApp 微信小程序:在 onLaunch 中等待异步方法执行完成后,再调用页面中的接口

最近遇到了一个问题:在 App.vue 中的 onLaunch 中调用登录接口时,由于异步登录尚未完成就调用了 index 页面的接口,导致 token 异常。如何确保页面在 App 中的 onLaunch 执行完毕后再继续执行呢? 在网上查阅了一些资料,发现大多数解决方案涉及登录状态设置、页面通过轮询或消息通知等方式等待状态,这些方法都不太理想。

解决方案:

要确保在App.vue中的onLaunch调用登录接口完成后再调用index的其他接口,可以使用 Promise 来控制异步操作的执行顺序

1、在App.vue中,使用Promise封装登录接口的调用,并在登录成功后返回一个resolve。

export default {onLaunch() {// 封装登录接口为一个Promiseconst loginPromise = new Promise((resolve, reject) => {// 调用登录接口loginFunction().then(() => {// 登录成功时,执行 resolveresolve();}).catch((error) => {// 登录失败时,执行 rejectreject(error);});});// 将 loginPromise 作为一个全局变量this.globalData.loginPromise = loginPromise; }
}

2、在index页面中,在页面加载时,通过调用登录接口的Promise,等待登录接口成功后再调用其他接口。

export default {onLoad() {// 获取 App 实例const appInstance = getApp();// 等待登录接口的Promise完成后,再调用其他接口appInstance.globalData.loginPromise.then(() => {// 调用 index 页面的接口getIndexInfo().then((res) => {// 处理其他接口的结果}).catch((error) => {// 错误处理});}).catch((error) => {// 登录失败处理});}
}

测试通过完工 ~

可能有同学会有疑问,每次获取loginPromise的时候会不会每次都登录?

答案是不会的,App.vue 中的 loginPromise 是在 onLaunch 生命周期钩子中创建的 Promise 对象,该 Promise 对象只会在应用初始化时调用一次登录接口,并在登录成功后 resolve。之后,其他页面获取 loginPromise 时并不会触发再次登录,而是直接返回之前创建好的 Promise 对象。

这意味着,每次获取 loginPromise 时不会导致重复登录,而是仅返回之前创建好的 Promise 对象。这种方式确保了登录操作只会在应用启动时执行一次,避免了重复登录

相关文章:

UniApp 微信小程序:在 onLaunch 中等待异步方法执行完成后,再调用页面中的接口

最近遇到了一个问题:在 App.vue 中的 onLaunch 中调用登录接口时,由于异步登录尚未完成就调用了 index 页面的接口,导致 token 异常。如何确保页面在 App 中的 onLaunch 执行完毕后再继续执行呢? 在网上查阅了一些资料&#xff0c…...

【招贤纳士】长期有效

【招贤纳士】长期有效,有意者联系 一、SLAM算法工程师工作内容:任职资格: 二、规划算法工程师工作内容:任职资格: 三、感知算法工程师岗位职责:任职要求:加分项: 四、传感器系统工程…...

华为配置静态ARP示例

华为配置静态ARP示例 组网图形 图1 配置静态ARP组网图 静态ARP简介配置注意事项组网需求配置思路操作步骤配置文件相关信息 静态ARP简介 静态ARP表项是指网络管理员手工建立IP地址和MAC地址之间固定的映射关系。 正常情况下网络中设备可以通过ARP协议进行ARP表项的动态学习&…...

LRTimelapse for Mac:专业延时摄影视频制作利器

LRTimelapse for Mac是一款专为Mac用户设计的延时摄影视频制作软件,它以其出色的性能和丰富的功能,成为摄影爱好者和专业摄影师的得力助手。 LRTimelapse for Mac v6.5.4中文激活版下载 这款软件提供了直观易用的界面,用户可以轻松上手&#…...

Java复习第十九天学习笔记(Cookie、Session登录),附有道云笔记链接

【有道云笔记】十九 4.7 Cookie、Session登录 https://note.youdao.com/s/VwpxfEim 一、会话技术简介 生活中会话 我: 小张,你会跳小苹果码? 小张: 会,怎么了? 我: 公司年会上要表演节目&a…...

HBase的数据模型与架构

官方文档:Apache HBase – Apache HBase™ Homehttps://hbase.apache.org/ 一、HBase概述 1.概述 HBase的技术源自Google的BigTable论文,HBase建立在Hadoop之上,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,用于…...

卷积神经网络的结构组成与解释(详细介绍)

文章目录 前言 1、卷积层 2、激活层 3、BN层 4、池化层 5、FC层(全连接层) 6、损失层 7、Dropout层 8、优化器 9、学习率 10、卷积神经网络的常见结构 前言 卷积神经网络是以卷积层为主的深层网络结构,网络结构包括有卷积层、激活层、BN层、…...

使用ansible的连通性检查的关键参数

使用ansible进行ping命令的时候发现有些不通 ansible cba -m ping 10.1.1.1 | FAILED! > {"msg": "Using a SSH password instead of a key is not possible because Host Key checking is enabled and sshpass does not support this. Please add this h…...

Jenkins用maven风格build报错解决过程记录

1、Jenkins2.453新建项目,构建风格选的maven 2、自由风格构建部署没有任何问题,但是maven风格build一直失败,报错如下图 3、解决方案:在系统管理–系统配置–Maven项目配置,删除全局MAVEN_OPT的路径信息,…...

Web3.0与AI的交融:开启智能互联网新时代

目前有140 多个 Web3 AI 概念项目,覆盖了基础设施、数据、预测市场、计算与算力、教育、DeFi & 跨链、安全、NFT & 游戏 & 元宇宙、搜索引擎、社交 & 创作者经济、AI 聊天机器人、DID & 消息传递、治理、医疗、交易机器人等诸多方向。持续关注…...

自动化_Ansible学习笔记

文章目录 Ansible 介绍配置文件主配置文件优先级 常用命令ansible-playbook ad-hocinventory 主机清单Playbook 剧本YAML格式 ansible 模块介绍模块对应功能Commands modules(命令模块)command (命令)shell (外壳) 官方帮助文档 模块索引playbook 开头示例系统类setup (收集远程…...

用于密集视觉冲击的紧凑三维高斯散射Compact 3D Gaussian Splatting For Dense Visual SLAM

Compact 3D Gaussian Splatting For Dense Visual SLAM 用于密集视觉冲击的紧凑三维高斯散射 Tianchen Deng 邓天辰11Yaohui Chen 陈耀辉11Leyan Zhang 张乐妍11Jianfei Yang 杨健飞22Shenghai Yuan 圣海元22Danwei Wang 王丹伟22Weidong Chen 陈卫东11 Abstract 摘要 …...

ChatGPT揭秘:高效论文写作的秘籍

ChatGPT无限次数:点击直达 ChatGPT揭秘:高效论文写作的秘籍 引言 在当今信息爆炸的时代,高效撰写论文对于研究者和学术工作者至关重要。随着人工智能技术的不断发展,ChatGPT等自然语言处理工具的出现为论文写作提供了全新的思路和工具。本文…...

电脑不能上网,宽带调制解调器出现问题如何处理

目录 一、问题说明 二、解决方案 一、问题说明 内网的设备能互联,内网的各个设备无法连外网。 电脑在检测网络时,出现以下提示: 二、解决方案 首先重启光猫(我们是电信宽带)。 如果还是有问题,再重启…...

云计算: OVN 集群 部署分布式交换机

目录 一、实验 1.环境 2.OVN 集群 部署云主机 3.中心端添加DVS分布式大二层交换机 二、问题 1.南向控制器查看主机名只显示localhost 2.中心端如何添加DVR分布式⼤三层路由器 一、实验 1.环境 (1) 主机 表1 宿主机 主机架构软件主要服务IP备注ovn_central中心端 ovn…...

electron+Vue3构建桌面应用之IPC通讯

最近在做一个C/S架构的项目预研 过程中遇到 Electron 与 Vue3 通讯的问题,费劲巴力的在网上找方案,发现都不理想,最终攻克之后,计划将过程写下来,供有需求的同学白嫖! 开始之前,先说一件重要的…...

html球体涨水

简单 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><style>div…...

ubuntu手动编译opencv 4.9.0遇到的问题汇总

ubuntu手动编译opencv 4.9.0遇到的问题汇总 编译流程 以4.9.0版本为例&#xff0c;可参考&#xff1a;https://docs.opencv.org/4.9.0/d2/de6/tutorial_py_setup_in_ubuntu.html 编译加速 https://blog.csdn.net/tfb760/article/details/104030841 ippicv_2021.10.0_lnx_i…...

SEO之搜索引擎的工作原理(三)

初创企业需要建站的朋友看这篇文章&#xff0c;谢谢支持&#xff1a;我给不会敲代码又想搭建网站的人建议 &#xff08;接上一篇。。。&#xff09; 排名 经过搜索引擎蜘蛛抓取页面&#xff0c;索引程序计算得到倒排索引后&#xff0c;搜索引擎就准备好可以随时处理用户搜索了…...

开发语言漫谈-python

python的语法和C完全不同&#xff0c;但是它也是C写的。也就是想成为高手&#xff0c;C是必备武功。不是每个人都想成为武林高手。所以客观上需要个简单上手开发效率高的语言&#xff0c;就这样python诞生了。python的发明人其实不喜欢蟒蛇&#xff0c;但是不知道为啥选这个名字…...

【Python工业视觉性能跃迁指南】:3大编译优化+5个CUDA加速技巧,让检测速度提升8.7倍

第一章&#xff1a;Python工业视觉性能跃迁的底层逻辑与评估体系Python在工业视觉领域长期面临“高表达性”与“低实时性”的根本矛盾。性能跃迁并非单纯依赖硬件升级或框架切换&#xff0c;而源于对计算图编译、内存布局优化、异构加速调度及IO瓶颈解耦四维协同机制的系统性重…...

告别macOS原生切换烦恼:alt-tab-macos让窗口管理效率提升300%的终极指南

告别macOS原生切换烦恼&#xff1a;alt-tab-macos让窗口管理效率提升300%的终极指南 【免费下载链接】alt-tab-macos Windows alt-tab on macOS 项目地址: https://gitcode.com/gh_mirrors/al/alt-tab-macos 作为macOS用户&#xff0c;你是否也曾对系统自带的窗口切换功…...

RK3128安卓5.1系统APK签名全流程:从signapk.jar到platform.pk8的保姆级教程

RK3128安卓5.1系统APK签名实战指南&#xff1a;工具获取与问题排查全解析 在嵌入式Android开发领域&#xff0c;RK3128芯片因其性价比优势被广泛应用于各类智能终端设备。当开发者需要为这类设备定制系统应用或预装APK时&#xff0c;掌握正确的签名方法至关重要。不同于普通And…...

all-MiniLM-L6-v2保姆级教程:Ollama模型卸载、版本回滚与缓存清理指南

all-MiniLM-L6-v2保姆级教程&#xff1a;Ollama模型卸载、版本回滚与缓存清理指南 1. 为什么需要管理你的Ollama模型&#xff1f; 你可能已经用Ollama成功部署了all-MiniLM-L6-v2&#xff0c;体验了它轻量高效的句子嵌入能力。但用久了你会发现&#xff0c;硬盘空间在悄悄减少&…...

OpenClaw负载测试:GLM-4.7-Flash并发处理能力评估

OpenClaw负载测试&#xff1a;GLM-4.7-Flash并发处理能力评估 1. 测试背景与目标 上周在尝试用OpenClaw自动化处理一批市场调研报告时&#xff0c;遇到了一个典型问题&#xff1a;当我同时提交20份PDF文件让AI助手提取关键数据时&#xff0c;系统开始出现响应延迟和部分任务超…...

AI 大模型落地系列|Eino 组件核心篇:ChatTemplate 为什么不是字符串拼接

声明&#xff1a;本文数据源于官方文档与官方实现&#xff0c;重点参考 ChatTemplate 使用说明。 为什么很多人学 Eino 后&#xff0c;写 Prompt 时还是把 ChatTemplate 用成了字符串拼接&#xff1f;1. ChatTemplate 是什么&#xff0c;不是什么2. 接口虽短&#xff0c;但起的…...

借助aibye智能工具高效完善毕业论文任务书范文,整合7大优质平台的AI修改功能提升学术写作质量

工具名称 核心功能 生成速度 适用场景 独特优势 aibiye 论文初稿生成 20-30分钟 全学科通用 自动插入图表公式 aicheck 初稿查重 20-30分钟 急需查重场景 独创降AIGC算法 askpaper 初稿生成 20-30分钟 理工科专业 支持代码片段 秒篇 快速生成 10-15分钟 …...

小红书笔记API避坑指南:数据结构解析与常见错误排查

小红书笔记API避坑指南&#xff1a;数据结构解析与常见错误排查 在小红书生态中&#xff0c;API作为连接开发者与平台数据的桥梁&#xff0c;其重要性不言而喻。但许多开发者在实际调用过程中&#xff0c;常常陷入数据结构理解不透、错误排查效率低下的困境。本文将从小红书笔记…...

PyTorch 2.8 + CUDA 12.4镜像实战教程:适配10核CPU+120GB内存的完整配置

PyTorch 2.8 CUDA 12.4镜像实战教程&#xff1a;适配10核CPU120GB内存的完整配置 1. 镜像概述与环境准备 1.1 核心特性介绍 这个深度优化镜像基于RTX 4090D 24GB显卡和CUDA 12.4驱动构建&#xff0c;专为高性能深度学习任务设计。主要特点包括&#xff1a; 硬件适配&#…...

RVC 技术指南:从问题解决到效率提升

RVC 技术指南&#xff1a;从问题解决到效率提升 【免费下载链接】rvc RVC is a Linux console UI for vSphere, built on the RbVmomi bindings to the vSphere API. 项目地址: https://gitcode.com/gh_mirrors/rvc/rvc 问题场景→核心原理→分步方案→进阶技巧 一、环…...