Promise 用法解析

Promise 在ES6中可以直接使用:

var promise = new Promise(function(resolve, reject) {
  // 异步操作的代码

  if (/* 异步操作成功 */){
    resolve(value);
  } else {
    reject(error);
  }
});

Promise构造函数的参数是一个函数,这个参数函数的两个参resolve和reject也是JavaScript提供,可以认为是固定写法。

当执行成功,Promise对象的状态会从未完成(Pending)变为成功(Resolved),这一步就是resolve函数所做的事情;反之执行reject函数,将Promise对象的状态变为失败(Rejected),将错误作为参数传出去。

Promise实例生成后,可以用then方法分别指定Resolved和Rejected状态的回调函数:

promise.then(function(value){
  //成功回调
  },function(error){
  //失败回调 一般使用 console.error(error)
  })

指定多个回调函数的时候,依次在后面添加. then()即可,失败回调只写在最后一个.then回调里。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 00、前言Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区...
    夜幕小草阅读 2,138评论 0 12
  • Promiese 简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果,语法上说,Pr...
    雨飞飞雨阅读 3,373评论 0 19
  • Promise的含义:   Promise是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和...
    呼呼哥阅读 2,187评论 0 16
  • //本文内容起初摘抄于 阮一峰 作者的译文,用于记录和学习,建议观者移步于原文 概念: 所谓的Promise,...
    曾经过往阅读 1,251评论 0 7
  • 一个新的地方你会接受或者反抗,时间久了你会习惯,再然后你会不能没有它,这就是体制化
    Despairrebirth阅读 156评论 0 0