ES6 Promise对象概念与用法分析

 更新时间:2017年04月01日 08:52:07   作者:柒青衿  
这篇文章主要介绍了ES6 Promise对象概念与用法,简单分析了Promise对象的基本状态与三种重要方法,并结合实例形式给出相关使用技巧,需要的朋友可以参考下

本文实例讲述了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程序设计有所帮助。

相关文章

  • JavaScript 给汉字排序实例代码

    JavaScript 给汉字排序实例代码

    数组的 sort 方法默认字符的编码排序,有时候要给一组汉字排序,默认的方法就不适用了。
    2008-06-06
  • JS实现的简单表单验证功能示例

    JS实现的简单表单验证功能示例

    这篇文章主要介绍了JS实现的简单表单验证功能,涉及javascript针对表单提交内容的获取、判断、焦点设置等相关操作技巧,需要的朋友可以参考下
    2017-10-10
  • 用js实现计算加载页面所用的时间

    用js实现计算加载页面所用的时间

    用js实现计算加载页面所用的时间的代码,需要的朋友可以参考下。
    2010-04-04
  • 原生js写的放大镜效果

    原生js写的放大镜效果

    在淘宝上购物时,总会看到类似放大镜的效果。以下为原生js写的一个放大镜效果,其中肯定有很多不足,请大牛们指正,谢啦
    2012-08-08
  • javascript实现的图片预览和上传功能示例【兼容IE 9】

    javascript实现的图片预览和上传功能示例【兼容IE 9】

    这篇文章主要介绍了javascript实现的图片预览和上传功能,结合实例形式分析了javascrpt图片预览和上传功能相关实现技巧与操作注意事项,需要的朋友可以参考下
    2020-05-05
  • 文本框回车提交与禁止提交示例

    文本框回车提交与禁止提交示例

    文本框输入数据后使用回车进行提交,想必大家都尝试过吧,在本文有个不错的示例,喜欢的朋友可以参下
    2013-09-09
  • 微信小程序获取用户信息并保存登录状态详解

    微信小程序获取用户信息并保存登录状态详解

    这篇文章主要介绍了微信小程序获取用户信息并保存登录状态,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • 解决js函数闭包内存泄露问题的办法

    解决js函数闭包内存泄露问题的办法

    这篇文章主要通过举例介绍了解决js函数闭包内存泄露问题的办法,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • JavaScript 巧学巧用

    JavaScript 巧学巧用

    本文主要给大家分享一下在编写JavaScript代码的时候存在的一些方法和技巧,虽然有时候条条大路都通向罗马,但是也许总会有那么一条最短的路径可走。希望通过以下几点JavaScript技巧让大家的代码“化繁为简,化简为精”
    2017-05-05
  • 详解webpack-dev-server使用http-proxy解决跨域问题

    详解webpack-dev-server使用http-proxy解决跨域问题

    这篇文章主要介绍了详解webpack-dev-server使用http-proxy解决跨域问题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01

最新评论