ES6 Promise对象概念与用法分析

网友投稿 246 2023-05-27


ES6 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 http://Promise(function (resolve, reject) {

if (ready) {

resolve("Hello")XTMlvaOFV;

} 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程序设计有所帮助。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java thrift服务器和客户端创建实例代码
下一篇:Java基于正则表达式实现的替换匹配文本功能【经典实例】
相关文章

 发表评论

暂时没有评论,来抢沙发吧~