ES6语法(七)Promise

news/2024/7/10 23:48:32 标签: es6

1. Promise

  ECMAscript 6 原生提供了 Promise 对象。Promise 对象代表了未来将要发生的事件,用来传递异步操作的消息。

1.1. 说明

1.1.1. 单个异步程序

    //检测机构
    //resolve : 表示成功的状态
    //reject : 表示失败的状态
    new Promise((resolve,reject) => {
        if(处理异步程序){
            resolve([参数]);
        }else{
            reject([参数]);
        }
    })
    .then(([参数]) => {
        ...
    })
    .catch(([参数]) => {
        ...
    })

1.1.2. 多个异步程序

//解决多个异步程序
new Promise((resolve,reject) => {
    if(处理异步程序){
        resolve([参数]);
    }else{
        reject([参数]);
    }
})
.then(([参数]) => {
    return new Promise((resolve,reject) => {
        if(处理异步程序){
            resolve([参数]);
        }else{
            reject([参数]);
        }
    })
})
.then(([参数]) => {
    return  new Promise((resolve,reject) => {
        if(处理异步程序){
            resolve([参数]);
        }else{
            reject([参数]);
        }
    })
})
……
.then(([参数]) => {
    if(处理异步程序){
        resolve([参数]);
    }else{
        reject([参数]);
    }
})
.catch([参数] => {

})

// 3秒输出1,再过两秒输出2,再过1秒输出3,再过0.5秒输出4
            new Promise((resolve,reject)=>{
                setTimeout(()=>{
                    resolve(1);
                },3000)
            })
            .then((data)=>{
                alert(data);
                return new Promise((resolve,reject)=>{
                    setTimeout(()=>{
                        resolve(2);
                    },2000)
                })
            })
            .then((data)=>{
                alert(data);
                return new Promise((resolve,reject)=>{
                    setTimeout(()=>{
                        resolve(3);
                    },1000)
                })
            })
            .then((data)=>{
                alert(data);
                setTimeout(()=>{
                    alert(4)
                },500)
            })

1.2. Promise的对象方法

then() : 当promise返回resolve状态时,你可以调用then方法进行后续的操作
catch() : 当promise返回reject状态时,你可以调用catch方法进行后续的操作

1.3. Promise当中的三种状态

pending: 初始状态,不是成功或失败状态。
fulfilled: 意味着操作成功完成。
rejected: 意味着操作失败。

1.4. Promise的静态方法

Promise.all() : 当all中所有的Promise对象都返回resolve时,这个promise对象才返回resolve状态。如果其中有一个promise对象返回reject时,当前的promise对象返回reject状态。


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

相关文章

Unity3D XML与Properties配置文件读取详解

前言 在游戏开发过程中,配置文件是一个非常重要的部分,它可以用来存储游戏中的各种参数、设置、文本等信息。Unity3D 支持多种配置文件格式,比如 XML 和 Properties。 对惹,这里有一个游戏开发交流小组,希望大家可以…

Word Game

题目链接&#xff1a;Problem - C - Codeforces 解题思路&#xff1a; 用map存字母和出现的次数&#xff0c;然后遍历三个字母数组&#xff0c;如果map值为1&#xff0c;则加三分&#xff0c;为2加1分&#xff0c;否则不加分。 下面是c代码&#xff1a; #include<iostrea…

unity学习(52)——选择角色界面--获得服务器数据库中的信息

1.创建角色完成时&#xff0c;也应该读取所有角色信息&#xff0c;通过测试&#xff0c;该功能已完成 2.选择界面&#xff0c;初始化时从服务器读取所有已创建角色的信息。 第15讲&#xff0c;第15分钟的时候。 在确定登陆成功后&#xff0c;向服务器申请获取当前账号下所有角…

数据结构与算法:链式二叉树

上一篇文章我们结束了二叉树的顺序存储&#xff0c;本届内容我们来到二叉树的链式存储&#xff01; 链式二叉树 1.链式二叉树的遍历1.1二叉树的前序&#xff0c;中序&#xff0c;后序遍历1.2 三种遍历方法代码实现 2. 获取相关个数2.1获取节点个数2.2获取叶节点个数2.3 获取树的…

MySQL入门到中级知识汇总2024

文章目录 1.揭开MySQL的神秘面纱2. SQL的基本命令实操3. 数据库的备份与恢复4. MySQL常用的数据类型&#xff08;列类型&#xff09;5. 数据类型之小数类型的使用6. 表的创建7. 表的修改8. mysql事务9. mysql表类型和存储引擎10. mysql的视图11. mysql的管理 1.揭开MySQL的神秘…

Java中SpringBoot四大核心组件是什么

一、Spring Boot Starter 1.1 Starter的应用示例 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency><groupId>org.mybatis.sprin…

Java宝典-抽象类和接口

目录 1. 抽象类1.1 抽象类的概念1.2 抽象类的语法1.3 抽象类的特点 2. 接口2.1 接口的概念2.2 接口的语法2.3 接口的特点2.4 实现多个接口2.5 接口的继承 3. 接口使用案例 铁汁们好,今天我们学习抽象类和接口~ 1. 抽象类 1.1 抽象类的概念 什么是抽象类?在面向对象中,如果一…

rtthread stm32h743的使用(七)dac设备使用

我们要在rtthread studio 开发环境中建立stm32h743xih6芯片的工程。我们使用一块stm32h743及fpga的核心板完成相关实验&#xff0c;核心板如图&#xff1a; 1.我们还是先建立工程 2.生成工程后打开mx进行配置&#xff0c;时钟配置如前所讲&#xff0c;不在赘述 3.更改mx文件…