0%

promise

这里是一个笨蛋学习实现Promise的记录。

为什么使用Promise?

换句话说,promise的好处:

  1. 缓解回调地狱的问题,使得代码易于维护,提升开发效率,降低维护难度。

此处应有对比的例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/* 如果使用回调,会像这样子,嵌套一层又一层的异步
* 如果处理错误,可能要写if...else...
*/
asyncCall('hello', (err, data) => {
if(err) {
//do something here
}
asyncCall2('hello', (err, data) => {
if(err) {
//do something here
}
asyncCall3('hello', (err, data) => {
if(err) {
//do something here
}
asyncCall4('hello', cb)
})
})
})

Promise如何使用?

Promise的实现过程

第一步,捋清思路

第二步,实现它!

第三步,测试它!

参考

  1. 5 Reasons Why You Should Be Using Promises