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:只有在失败时才会执行。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。