一、Operator
默认情况下,订阅某个 Publisher,Subscriber 中的 Input 和 Failure 要与 Publisher 的 Output 和 Failure 类型相同。然而实际开发中往往并没有这么理想,此时就要借助 Operator 进行转换。Operator 遵守 Publisher 协议,负责从数据流上游的 Publisher 订阅值,经过转换生成新的 Publisher 发送给下游的 Subscriber。
默认情况下,订阅某个 Publisher,Subscriber 中的 Input 和 Failure 要与 Publisher 的 Output 和 Failure 类型相同。然而实际开发中往往并没有这么理想,此时就要借助 Operator 进行转换。Operator 遵守 Publisher 协议,负责从数据流上游的 Publisher 订阅值,经过转换生成新的 Publisher 发送给下游的 Subscriber。
在实际开发中,当 Subscriber 在某个时候不想接收 Publisher 发布的数据时,可以取消订阅以释放资源。Combine 中提供了 Cancellable 协议,该协议中定义了一个 cancel 方法,用于取消订阅流程。 阅读全文
本文我们着重来分析一种特殊的 Publisher —— Subject。与之前我们讨论的 Publisher 不同的是,Subject 的最大特点就是可以手动发送数据,本文将讨论 Subject 的定义以及基本用法。
昨天偶然发现本站第一次访问时间非常的久,需要 6-7 秒的时间才能完全打开,但是第一次访问之后速度就非常快了,基本上是秒开。使用浏览器的开发者模式看了一下,发现是第一次 SSL 握手时间过长导致的访问缓慢,大约需要 3000-4000 毫秒才能完成握手。去网上搜集了一些资料,原来是 Let’s Encrypt 证书的锅——Let’s Encrypt OCSP 的服务器在国外,导致查询证书有效性的时间过长。开启 OCSP Stapling 将能很好的解决这个问题。