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

【ES6】一个页面上需要等两个或多个ajax的数据请求成功以后才正常显示(使用Promise.all和Promise.race)

【ES6】一个页面上需要等两个或多个ajax的数据请求成功以后才正常显示(使用Promise.all和Promise.race)

  • Pomise
  • Pomise.all
  • Promise.race

Pomise

Pomise.all

  • Promise.all将多个Promise实例聚合成一个新的Promise实例。请求成功的时候返回的是一个结果数组,而失败的时候则返回最先被reject失败的值(即如果有一个Pomise失败,则整个Pomise都返回失败)。
  • Promise.all获得的成功结果数组里的数据顺序和Promise.all接收到的数组顺序是一致的,即使Promise1的结果获取的比Promise2要晚。

具体代码如下

<template><div id="app"></div>
</template>
<script>
import { getuser, getlist, getdetail } from "@/api/api";
export default {name: "App",data() {return {};},mounted() {this.getData();},methods: {//获取后端数据async getData() {let Promise1 = await getuser(); //调用成功let Promise2 = await getlist(); //调用成功let Promise3 = await getdetail(); //调用失败let Promise4 = await getdetail(); //调用失败Promise.all([Promise1, Promise2]).then((result) => {console.log(result); //[[用户信息], [用户列表]]}).catch((error) => console.log(`Error in promises ${error}`));Promise.all([Promise1, Promise2, Promise3, Promise4]).then((result) => {console.log(result); //调用失败。返回Promise3错误信息}).catch((error) => console.log(`Error in promises ${error}`));},},
};
</script>

Promise.race

  • Promise.race([Promise1, Promise2, Promise3])里面哪个结果返回得的快,就返回那个结果,不管结果本身是成功状态还是失败状态。

相关文章:

  • HTTPS 之fiddler抓包--jmeter请求
  • 人脸识别 FaceNet人脸识别(一种人脸识别与聚类的统一嵌入表示)
  • 【51单片机】点亮第一个LED灯
  • 707. 设计链表(力扣刷题)(C语言题解)
  • ARM-M0 + 24bit ADC,采样率8KSPS,高精度ADC使用手册
  • [GN] DP学习笔记板子
  • Next.js如何正确处理跨域问题?
  • 网络ADB连接(不用实体安卓线)
  • 每日一练:LeeCode-404、左叶子之和【二叉树】
  • IDEA:git 回滚本地提交-git 选择 Reset Current Branch to
  • 《区块链简易速速上手小册》第4章:区块链与加密货币(2024 最新版)
  • Vue2:请求接口的两种方式axios和vue-resource
  • 大模型重塑车载语音交互:赛道巨头如何引领新周期?
  • 力扣0114——二叉树展开为链表
  • Python爬虫请求库安装
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • 〔开发系列〕一次关于小程序开发的深度总结
  • C# 免费离线人脸识别 2.0 Demo
  • ERLANG 网工修炼笔记 ---- UDP
  • ES2017异步函数现已正式可用
  • java8-模拟hadoop
  • JS学习笔记——闭包
  • js作用域和this的理解
  • Map集合、散列表、红黑树介绍
  • opencv python Meanshift 和 Camshift
  • Phpstorm怎样批量删除空行?
  • React-生命周期杂记
  • SQLServer之索引简介
  • uva 10370 Above Average
  • 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
  • 关于Java中分层中遇到的一些问题
  • 聊一聊前端的监控
  • 首页查询功能的一次实现过程
  • 做一名精致的JavaScripter 01:JavaScript简介
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • ​LeetCode解法汇总518. 零钱兑换 II
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • (1)Map集合 (2)异常机制 (3)File类 (4)I/O流
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (六)vue-router+UI组件库
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (转)Oracle存储过程编写经验和优化措施
  • (转)菜鸟学数据库(三)——存储过程
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .NET Core跨平台微服务学习资源
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈
  • .secret勒索病毒数据恢复|金蝶、用友、管家婆、OA、速达、ERP等软件数据库恢复
  • @EventListener注解使用说明