ES6 Promise对象概念与用法分析
2017-04-01 08:52
891 查看
1.Promise概念
Promise 对象有三种状态:
① Fulfilled 可以理解为成功的状态
② Rejected 可以理解为失败的状态
③ Pending 既不是 Fulfilld 也不是 Rejected 的状态,可以理解为 Promise 对象实例创建时候的初始状态
2.三个重要方法
在 Promise 对象当中有三个重要方法――――resolve, reject和then。
resolve 方法可以使 Promise 对象的状态改变成成功,同时传递一个参数用于后续成功后的操作,在这个例子当中就是 Hello World!字符串。
reject 方法则是将 Promise 对象的状态改变为失败,同时将错误的信息传递到后续错误处理的操作。
function printHello (ready) { return new Promise(function (resolve, reject) { if (ready) { resolve("Hello"); } else { reject("Good bye!"); } }); } function printWorld () { alert("World"); } function printExclamation () { alert("!"); } printHello(true) .then(function(message){ alert(message); }) .then(printWorld) .then(printExclamation); //分别弹出 Hello World !三个弹窗
上述例子通过链式调用的方式,按顺序打印出了相应的内容。then 可以使用链式调用的写法原因在于,每一次执行该方法时总是会返回一个 Promise 对象。另外,在 then onFulfilled 的函数当中的返回值,可以作为后续操作的参数,因此上面的例子也可以写成:
function printHello (ready) { return new Promise(function (resolve, reject) { if (ready) { resolve("Hello"); } else { reject("Good bye!"); } }); } printHello(true).then(function (message) { return message; }).then(function (message) { return message + ' World'; }).then(function (message) { return message + '!'; }).then(function (message) { alert(message); }); //一个弹窗 Hello World !
希望本文所述对大家ECMAScript程序设计有所帮助。
您可能感兴趣的文章:
相关文章推荐
- ES6 Promise对象概念及用法介绍
- ES6新特性之类(Class)和继承(Extends)相关概念与用法分析
- iOS开发视频教程—6.2对象所有权的基本概念和用法
- Python可调用对象__call__方法的用法分析
- 深入分析面向对象中的对象概念
- Objective-C 对象进阶:归档的概念和用法
- Zend Framework教程之Zend_Registry对象用法分析
- Role分析模式:角色对象基本概念
- 面向对象第十四课,多态,基本概念,内存分析(重要)
- javascript中cookie对象用法实例分析
- 谈谈 ES6 的 Promise 对象
- jQuery1.9.1源码分析--Deferred对象和Promise对象
- 【Objective-C】OC中对象归档(序列化)的基本概念和用法
- 【Objective-C】OC中对象归档(序列化)的基本概念和用法
- ES6的promise对象研究
- 面向对象概念分析 理解OOP、OOD、OOA
- 【Objective-C】OC中引用计数和对象所有权的基本概念与用法
- 面向对象分析和设计基本概念
- ES6 Promise 对象
- PHP中抽象类和抽象方法概念与用法分析