zoukankan      html  css  js  c++  java
  • js-20170830-Promise对象

    1. 简介
    Promise 对象是 CommonJS 工作组提出的一种规范,目的是为异步操作提供统一接口.
    首先,它是一个对象,其次,它起到代理作用(proxy),充当异步操作与回调函数之间的中介。
    简单说,它的思想是,每一个异步任务立刻返回一个Promise对象,由于是立刻返回,所以可以采用同步操作的流程。这个Promises对象有一个then方法,允许指定回调函数,在异步任务完成后调用。
     
     
    2. Promise接口
    Promise对象只有三种状态。
    异步操作“未完成”(pending)
    异步操作“已完成”(resolved,又称fulfilled)
    异步操作“失败”(rejected)
    这三种的状态的变化途径只有两种。
    异步操作从“未完成”到“已完成”
    异步操作从“未完成”到“失败”。
    这种变化只能发生一次,一旦当前状态变为“已完成”或“失败”,就意味着不会再有新的状态变化了。因此,Promise对象的最终结果只有两种。
    异步操作成功,Promise对象传回一个值,状态变为resolved。
    异步操作失败,Promise对象抛出一个错误,状态变为rejected。
     
     
    3. Promise对象的生成
    ES6提供了原生的Promise构造函数,用来生成Promise实例。
    下面代码创造了一个Promise实例。
    var promise = new Promise(function(resolve, reject) {
    // 异步操作的代码
     
    if (/* 异步操作成功 */){
    resolve(value);
    } else {
    reject(error);
    }
    });
  • 相关阅读:
    分布式锁获取token
    美团-2019Q2述职总结
    linux df 日志删除命令分析
    MySQL、HBase、ES的特点和区别
    C++函数返回局部变量
    C语言 数组初始化的三种常用方法({0}, memset, for循环赋值)以及原理
    C Mysql API连接Mysql
    C++运算符重载
    C++对象赋值的四种方式
    C/C++下scanf的%匹配以及过滤字符串问题
  • 原文地址:https://www.cnblogs.com/jialuchun/p/7511696.html
Copyright © 2011-2022 走看看