时间:2021-05-28
本文实例讲述了ES6 Promise对象概念与用法。分享给大家供大家参考,具体如下:
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程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了es6中Promise对象基本功能与用法。分享给大家供大家参考,具体如下:Promise是异步编程的一种解决方案,解决——回调函数和事件ES6规定
先前了解了ES6的Promise对象,来看看jQuery中的Promise,也就是jQuery的Deferred对象。打开浏览器的控制台先。vardefer=$
本文实例讲述了ES6中异步对象Promise用法。分享给大家供大家参考,具体如下:回忆一下ES5中的怎么使用异步方法//es5中的异步回调letajax=fun
本文实例讲述了ES6数组与对象的解构赋值。分享给大家供大家参考,具体如下:数组的解构赋值基本用法ES6允许按照一定的模式,从数组和对象中提取值,对变量进行赋值,
去年6月份,ES2015正式发布(也就是ES6,ES6是它的乳名),其中Promise被列为正式规范。作为ES6中最重要的特性之一,我们有必要掌握并理解透彻。本