美文网首页
Promise(一)构造函数

Promise(一)构造函数

作者: 三七_小九 | 来源:发表于2021-03-15 17:07 被阅读0次

Promise有三种状态(pendding / fulfilled / rejected),状态改变不可逆,构造函数接受两个函数,resolve和reject。

resolve将promise的状态改为fulfilled,reject函数将promise的状态改为rejected,

分析

1.接受一个函数,函数接受两个函数作为参数:resolve 和reject;

2.一个存储promise状态的变量promiseState;

3.一个存储promise结果的变量promiseResult;

4.promiseState只能由 “pending”转为“fulfilled”,或者是‘pending’转为“rejected”

5.resolve改变为‘fulfilled’,reject改为‘rejected’,并且不许允许再次改变

function Promise(fun) {  this.promiseState = "pending";  this.promiseResult = null;  const resolve = (val) => {    // 状态一旦改变,不允许再次执行了    if (this.promiseState !== "pending") return;    this.promiseState = "fulfilled";    this.promiseResult = val;  };  const reject = (err) => {    // 状态一旦改变,不允许再次执行了    if (this.promiseState !== "pending") return;    this.promiseState = "rejected";    this.promiseResult = err;  };  try {    fun(resolve, reject);  } catch (error) {    reject(error);  }}

相关文章

  • Promise

    ES规定,Promise对象是一个构造函数,用来生成Promise实例 Promise 构造函数接受一个函数作为参...

  • promise用法

    Promise笔记 1.promise构造函数 Promise是一个构造函数,传参是一个function(reso...

  • ES6 Promise 异步2

    概念: Promise 是一个构造函数,既然是构造函数,就可以 new promise()一个 promise 实...

  • 一步步解析Promise

    new Promise(a函数) -> 构造函数(ParamFun=a函数)构造函数类运行a函数(),需要参数...

  • Promise从入门到拿Offer之手写Promise

    1、Promise构造函数的实现 Promise构造函数用来声明示例对象,需要传入一个执行器函数。其中包括reso...

  • Promise(补充)

    Promise 是一个 构造函数,既然是构造函数, 那么,我们就可以 new Promise() 得到一个 Pr...

  • day02-vuejs-Promise(补充)

    Promise 是一个 构造函数,既然是构造函数, 那么,我们就可以 new Promise() 得到一个 Pr...

  • Promise、Generator 函数

    Promise对象是一个构造函数,用来生成Promise实例 resolve函数改变promise状态从Pendi...

  • Promise函数介绍和用法

    Promise函数(异步请求操作可用) Promise用法 Promise其实是一个构造函数 ! 使用方法如下: ...

  • 使用 ES6 实现一个简单的 Promise

    Promise 基本结构 构造函数 Promise 必须接受一个函数作为参数,同时这个函数又包含 resolve ...

网友评论

      本文标题:Promise(一)构造函数

      本文链接:https://www.haomeiwen.com/subject/tvbkcltx.html