Promise 概念
Promise 是异步编程的解决方案
什么是异步
有一个函数A ,A执行完后执行B,
异步方式有:
- 回调方式,
- 事件触发
Promise 不同于以上两种方式
Promise 的作用
Promise的基本用法
之前的写法
1 |
|
这样写影响后期维护,回调的顺序很乱
使用Promise
1 | { |
串行过程 ,then()链式操作1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22{
let ajax=function(){
console.log('执行3');
return new Promise(function(resolve,reject){
setTimeout(function(){
resolve();
},1000);
});
}
ajax()
.then(function(){
//继续返回Promise实例
return new Promise(function(resolve,reject){
setTimeout(function(){
resolve();
},2000);
})
})
.then(function(){
console.log('timeout3');
});
}
catch 捕获异常错误
1 | { |
Promise 高级用法
fade流 今日头条、uc 新闻案例 加载新闻图片
- Promise.all 所有图片加载完再添加到页面
1 | { |
先到先得
- Promise.race 表示有一个状态率先改变 那么这个race 状态就改变
1 | { |