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

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

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])里面哪个结果返回得的快,就返回那个结果,不管结果本身是成功状态还是失败状态。

最近更新

  1. TCP协议是安全的吗?

    2024-01-31 09:24:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-31 09:24:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-31 09:24:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-31 09:24:03       18 阅读

热门阅读

  1. C# LING查询语法学习,扩展方法的使用

    2024-01-31 09:24:03       26 阅读
  2. 大白话理解大语言模型预训练和微调

    2024-01-31 09:24:03       36 阅读
  3. centos 7 install k3s

    2024-01-31 09:24:03       35 阅读
  4. C++_list

    C++_list

    2024-01-31 09:24:03      28 阅读
  5. 速盾网络:高防服务器与高防CDN有哪些区别

    2024-01-31 09:24:03       37 阅读
  6. 知识点积累系列(三)golang框架篇【持续更新】

    2024-01-31 09:24:03       40 阅读
  7. 使用golang发送邮件

    2024-01-31 09:24:03       47 阅读
  8. SQL Server存储过程简单讲解

    2024-01-31 09:24:03       30 阅读
  9. docker入门问题三

    2024-01-31 09:24:03       30 阅读
  10. 正则表达式基础学习

    2024-01-31 09:24:03       36 阅读
  11. 远程访问 MariaDB

    2024-01-31 09:24:03       37 阅读