怎样构建底层的发布和订阅事件总线?


除了 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 工程中,并对其中一个模块进行改造。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 事件总线是对发布和订阅设计模式的一种实现,通过发布、订阅可以将组件间一对一和一对多的耦合关系解开。这种设计模式,特...
    阳明AI阅读 1,040评论 0 0
  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 11,283评论 0 4
  • 公元:2019年11月28日19时42分农历:二零一九年 十一月 初三日 戌时干支:己亥乙亥己巳甲戌当月节气:立冬...
    石放阅读 11,810评论 0 2