认识then方法
-
Promise
实例具有then
方法,也就是说,then
方法是定义在原型对象Promise.prototype
上的。它的作用是为Promise
实例添加状态改变时的回调函数。 -
前面说过,
then
方法的第一个参数是resolved
状态的回调函数,第二个参数是rejected
状态的回调函数,它们都是可选的。 -
then
方法返回的是一个新的Promise
实例(注意:不是原来那个Promise实例
)。因此可以采用链式写法
,即then
方法后面再调用另一个then
方法。
通过return 传递普通参数(采用默认的Promise实例)
- 当回调函数中不存在异步的情况,通过
return
传递普通参数即可。 return
作用:创建默认的Promise
实例,将返回值作为入参传递给回调函数
var p1 = new Promise (function (resolve, reject) {
resolve("sssss")
})
p1.then(function (result) {
console.log(result);
return result
}).then(function (result) {
console.log(result);
})
//sssss
//sssss
通过return 传递自定义的Promise实例
- 当回调函数中存在异步的情况,通过
return
传递新的Promise
var p1 = new Promise (function (resolve, reject) {
resolve("111")
})
p1.then(function (result) {
console.log(result);
//该回调函数中也存在异步的时候
return new Promise(function (resolve, reject) {
console.log(3333);
resolve("222")
})
}).then(function (result) {
console.log(result);
})
//111
//333
//222