Promise(许诺)
//用来处理异步的一些问题
let p = new Promise(function(resolve,refused){
console.log("abc");
//resolve();
setTimeout(function(){
resolve();
},3000);
console.log("123");
});
//console.log("123");不会等着定时器里的实行后实行,而是直接就实行了。
p.then(function(){
console.log("def");
});
function sleep(times){
return new Promise(function(resolve,refused){
setTimeout(function(){
resolve();
},times);
});
}
let pr = new Promise(function(resolve,refused){
setTimeout(function(){
resolve();
},1000);
});
pr.then(function(){
console.log(1);
return sleep(2000);
}).then(function(){
console.log(2);
return sleep(3000);
}).then(function(){
console.log(3);
return sleep(4000);
}).then(function(){
console.log(4);
});
let p3 = new Promise(function(resolve,refused){
resolve();
refused("失利了");
});
p3.then(function(){
console.log("edf");
}).catch(function(e){
console.log(e);
});
解释:1.Promise(许诺)的状况一共有三种:挂起状况,胜利状况,失利状况。
2.then:只要在胜利时才会实行。
3.catch:只要在失利时才会实行。