[20190702]jQuery的Promise实现

接着之前Promise的初认识,

我们知道由于事件回调对回调函数难以管理,封装性差,

当一个回调函数依赖另一个回调函数时,不可避免嵌套的回调函数,

甚至出现地狱回调

Promise就是为了解决这个问题的一种更好的管理异步操作的方法

jQuery的Promise是通过Deferred对象和Promise对象实现的

同时也代表对Promise的不同的定义

jQuery中,Deferred对象除了可以在解析或拒绝状态中添加回调函数,还可以手动操作Deferred对象的解析和拒绝

Promise对象可以在解析或拒绝状态中添加回调函数,

对于不关注解析和拒绝的操作,只处理回调的用户代码,可以使用Promise对象

另外一种Promise状态是progress,使用他添加进度状态的回调函数,notify方法还可以手动操作Deferred对象的进度

when方法可以在多个Promise对象完成解析或拒绝后调用相应的回调函数,这就提供了管理多个异步操作的方式

then方法提供了解析、拒绝或进度状态的回调函数的快捷方式

猜你喜欢

转载自www.cnblogs.com/jimfigo/p/11118601.html