promise的链式调用
1. Promise
包含两个参数:resolve,reject;
Resolve:将promise的状态设置为完成状态(resolved),此时then方法捕捉变化,执行成功的回调
Reject:将promise状态设置为无效,(rejected),此时then方法执行失败回调
————————————————
function china(){
console.log('china中国')
var p =new Promise(
function( resolve,reject ) {
setTimeout(function(){
console.log('中国 国家')
resolve('教育大省份')
},1000)
}
)
return p;
}
————————————————
function jiangshu(data){
console.log('江苏'+data);
var p=new Promise(function(resolve,reject){
setTimeout(function (){
console.log('江苏 省份')
resolve('地级市');
},2000)
})
return p;
}
————————————————
②. 函数写完之后,就开始结合then来链式调用了
china()
.then(function(data){returnjiangshu(data)})
.then(function(data){returnxian(data)})
.then(function(data){console.log(data)})
简化写法:
china ().then(jiangshu).then(xian).then(function(data){
console.log(data)
})
如果为reject的时候,执行then的第二个参数回调,不会执行后面的函数
————————————————
unction china(){
console.log('china中国')
var p =new Promise(
function( resolve,reject ) {
setTimeout(function(){
console.log('中国 国家')
reject('教育大省份')
},1000)
}
)
return p;
}
————————————————
浙公网安备 33010602011771号