除了 then 和 catch 方法以外,PromiseKit 还有一些好用的方法。
- 比如 always 方法。使用了 always 方法以后, Promise 对象每次在执行方法时,都会执行一次 always 方法。
- 再比如 when 方法。这个方法的使用场景就是,指定多个异步操作,等这些操作都执行完成后就会执行 when 方法。when 方法类似 GCD 里面的 Dispatch Group,虽然实现的功能一样,但是代码简单了很多,使用起来也更加方便。
PromiseKit 还为苹果的 API 提供了扩展。这些扩展需要单独集成,你可以在PromiseKit 组织页面获取。目前大部分常用的 API 都有扩展,比如 UIKit、Foundation、CoreLocation、QuartzCore、CloudKit 等等,甚至还支持了第三方的框架 Alamofire。
如果你觉得 PromiseKit 提供的扩展还不够,还想让你使用的第三方库也支持 Promises 的话,可以通过 PromiseKit 提供的扩展文档,或者直接查看已支持的第三方库(比如 Alamofire )的扩展实现,去学习如何让其他库也支持 Promises。
PromiseKit 不仅支持 Swift 语言,还支持 Objective-C。所以,今天的课后作业是,将 PromiseKit 集成到你的 Objective-C 工程中,并对其中一个模块进行改造。
网友评论