Promise

ES6新特征 - Promise

本节主要介绍了ES6新特征中Promise的基本概念与常用属性和方法,重点在于Promise不同状态与链式调用。

2021-01-25侠课岛    初级拔高       

前端/前端/前端系列课程P2 17     0     1040

(六十)ES6新特征 - Promise

1:基本概念

  • 表示一个异步操作的最终状态(完成或失败), 以及该异步操作的结果值
  new Promise(
    function(resolve, reject) {
      /* executor */
    }
  );
  • 三种状态

    • pending - 进行中
    • fulfilled - 已成功
    • rejected - 已失败
  • 状态一旦确定就不再改变

    • pending -> fulfilled
    • pending -> rejected
    • 状态确定之后称之为resolved
    • resolved之后添加回调会立即执行得到结果
    • resolved一般指fulfilled状态
  • 一旦新建会立即执行, 无法中途取消

  • Promise构造函数执行时立即调用executor函数

2:基本用法

  • Promise接受一个函数作为参数, 该函数的参数分别是resolve和reject
let promise = new Promise(function(resolve, reject) {
    console.log('new promise');

    setTimeout(function() {
        console.log('promise resolved');
        return resolve("success");
    }, 1000);
});
  • Promise实例生成后在then方法中指定resolved状态和rejected(可选)状态的回调函数
promise.then(function(value) {
    console.log('resolved callback', value);
});
  • Promise传递
const promise1 = new Promise(function (resolve, reject) {
  /* ... */
});

const promise2 = new Promise(function (resolve, reject) {
  /* ... */
  resolve(promise1);
})

本教程图文或视频等内容版权归侠课岛所有,任何机构、媒体、网站或个人未经本网协议授权不得转载、转贴或以其他方式复制发布或发表。

评价

17

本课评分:
  •     非常好
难易程度:
  •     适中的

内容目录


本文索引

本文标签


|
教程
粉丝
主页

签到有礼

已签到2天,连续签到7天即可领取7天全站VIP

  • 1
    +2 金币
  • 2
    +3 金币
  • 3
    +5 金币
  • 6
    +7 金币
  • 5
    +6 金币
  • 4
    暖心福利
    自选分类VIP ×1天
  • 7
    惊喜大礼

    自选分类VIP ×3天 +20金币
  • 持续签到 +8 金币

金币可以用来做什么?