码迷,mamicode.com
首页 > Web开发 > 详细

js-20170830-Promise对象

时间:2017-09-12 19:46:31      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:完成   异步操作   生成   rom   erro   error   back   目的   led   

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);
}
});

js-20170830-Promise对象

标签:完成   异步操作   生成   rom   erro   error   back   目的   led   

原文地址:http://www.cnblogs.com/jialuchun/p/7511696.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!