挂起状态 成功状态 失败状态
用来解决异步的一些问题
ajax 异步请求调用
var p = new Promise(function(resolve,refused){
console.log("abc");//abc
//resolve();
setTimeout(function(){
resolve();
},3000)//定时器
console.log("123");
});
p.then(function(){
console.log("dfe")//用resolve()执行
});
setTimeout(function(){
console.log(1);
setTimeout(function(){
console.log(2)
setTimeout(function(){
console.log(3);
},3000)
},2000)
},1000);
var p1=new Promise(function(resolve,refused){
setTimeout(function(){
resolve()
},1000);
});
p1.then(function(){
console.log(1);
/*return new Promise(function(resolve,refused){
setTimeout(function(){
resolve();
},2000);
});*/
return sleep(2000);
}).then(function(){
console.log(2);
return new Promise(function(resolve,refused){
setTimeout(function(){
resolve();
},3000);
});
return sleep(3000);
}).then(function(){
console.log(3);
});
function sleep(times){
return new Promise(function(resolve,refused){
setTimeout(function(){
resolve();
},2000);
});
}
var pp=new Promise(function(resolve,refused){
//resolve()
refused();
});
成功
pp.then(function(){
console.log("dddfff")
})
失败
pp.catch(function(){
console.log("llll")
})