Combine - Operator(操作符)(一)

2021-11-23  本文已影响0人  盟主直播Libx

Debugger操作符 | 类型管理操作符 | 转换操作符


Debugger操作符


print - 打印所有消息,并且给消息加上前缀

breakpoint - 发送调试信号,打断点,在想要调试的闭包中返回 true

handlerEvents - 在发生事件时调用对应的闭包,可以自定义处理一些逻辑

类型管理操作符


switchToLatest - 接受多个publisher,只保留最后一个publisher,之前的publisher执行取消方法,在实际开发中,特别适合用于搜索框的实时搜索功能,去掉多余的网络请求。

eraseToAnyPublisher - 类型擦除,将复杂的publisher类型进行擦除,变成类型简单易读(一眼看到output类型)的,也会擦除PassthroughSubject和CurrentValueSubject的手动发送send方法。

转换操作符


map - 接受一个闭包,数组里的每个元素自动执行这个闭包,然后发送给下游

flatMap -

接受一个闭包,所有数组拉直,也就是二维数组,变成一维数组,下面例子就是123456都执行该闭包

tryMap - 抛出错误,返回fail并且中止流程。

setFailureType - 指定当前publisher返回的错误,比如Just的失败类型为Never,通过sefFailureType可以指定当前Just的失败类型为LFError

merge - 可以合并2个publisher,但是要求output和error必须一致,如果error不一致,可以使用setFailureType指定一致

scan & tryScan - scan(第一次默认值,随后记录上次转换的结果),然后跟这次传递过来的值执行闭包

上一篇:Combine - Publisher & Subscriber(发布者 & 订阅者)完整

下一篇:Combine - Operator(操作符)(二)

上一篇下一篇

猜你喜欢

热点阅读