ES6 Promise对象概念与用法分析
本文实例讲述了ES6Promise对象概念与用法。分享给大家供大家参考,具体如下:
1.Promise概念
Promise对象有三种状态:
①Fulfilled可以理解为成功的状态
②Rejected可以理解为失败的状态
③Pending既不是Fulfilld也不是Rejected的状态,可以理解为Promise对象实例创建时候的初始状态
2.三个重要方法
在Promise对象当中有三个重要方法————resolve,reject和then。
resolve方法可以使Promise对象的状态改变成成功,同时传递一个参数用于后续成功后的操作,在这个例子当中就是HelloWorld!字符串。
reject方法则是将Promise对象的状态改变为失败,同时将错误的信息传递到后续错误处理的操作。
functionprintHello(ready){
returnnewPromise(function(resolve,reject){
if(ready){
resolve("Hello");
}else{
reject("Goodbye!");
}
});
}
functionprintWorld(){
alert("World");
}
functionprintExclamation(){
alert("!");
}
printHello(true)
.then(function(message){
alert(message);
})
.then(printWorld)
.then(printExclamation);//分别弹出HelloWorld!三个弹窗
上述例子通过链式调用的方式,按顺序打印出了相应的内容。then可以使用链式调用的写法原因在于,每一次执行该方法时总是会返回一个Promise对象。另外,在thenonFulfilled的函数当中的返回值,可以作为后续操作的参数,因此上面的例子也可以写成:
functionprintHello(ready){
returnnewPromise(function(resolve,reject){
if(ready){
resolve("Hello");
}else{
reject("Goodbye!");
}
});
}
printHello(true).then(function(message){
returnmessage;
}).then(function(message){
returnmessage+'World';
}).then(function(message){
returnmessage+'!';
}).then(function(message){
alert(message);
});//一个弹窗HelloWorld!
希望本文所述对大家ECMAScript程序设计有所帮助。
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西