Promise--promise 的状态改变 & promise 的基本流程

Posted Z && Y

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Promise--promise 的状态改变 & promise 的基本流程相关的知识,希望对你有一定的参考价值。

1. promise 的状态改变

  1. pending 变为 resolved: 未决定的 => 成功
  2. pending 变为 rejected: 未决定的 => 失败

说明:

  • 只有这 2 种, 且一个 promise 对象只能改变一次
  • 无论变为成功还是失败, 都会有一个结果数据
  • 成功的结果数据一般称为 value, 失败的结果数据一般称为 reason

1.1 Promise 的状态

实例对象中的一个属性 『PromiseState』

  • pending 未决定的
  • resolved / fullfilled 成功
  • rejected 失败

示例:

成功:

    console.log(new Promise((resolve) => {
        resolve('成功');
    }))

在这里插入图片描述

失败:

    console.log(new Promise((resolve, reject) => {
        reject('失败');
    }))

在这里插入图片描述


1.2 Promise 对象的值

实例对象中的另一个属性 『PromiseResult』保存着异步任务『成功/失败』的结果

  • resolve 成功
  • reject 失败

示例:

成功:

    console.log(new Promise((resolve) => {
        resolve('成功');
    }))

在这里插入图片描述

失败:

    console.log(new Promise((resolve, reject) => {
        reject('失败');
    }))

在这里插入图片描述


2. promise 的基本流程

在这里插入图片描述
在这里插入图片描述



以上是关于Promise--promise 的状态改变 & promise 的基本流程的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript:理解Promise方法

备忘录Promise.all包含rejected状态的多个promise完成后执行事件

对Promise中的resolve,reject,catch理解

手写promise,promise.all,promise.race

Promise

使用 .map 分配返回的承诺的值 [重复]