线程 操作符|编码 操作符 |合并 操作符|错误处理 操作符|处理多个订阅者 操作符
线程 操作符
receive(on:options:) - sink订阅在什么线程里执行
subscribe(on:options:) - publisher的map那些操作在什么线程里执行
编码 操作符
对象必须 遵守 Codable 协议
encode - 编码,将 对象 转换成 json字符串
decode - 解码,将 json字符串 转换成 对象
合并 操作符
merge - 合并2个publisher,但是要求output和error必须一致,如果error不一致,可以使用setFailureType指定一致
zip - 合并2个publisher,并且配对组合内容输出(看下面例子),要求error必须一致,output可以不一致
combineLatest - 合并2个publisher,并且配对组合内容输出(看下面例子),要求error必须一致,output可以不一致
错误处理 操作符
catch & tryCatch - 使用默认的一个publisher替换出错的这个publisher
assertNoFailure - 在开发环境用于测试,指定该publisher不会收到错误,如果收到,就会崩溃
retry - 用于在发送错误后,可以重新对publisher进行订阅,一般用在处理网络请求的重试次数
mapError - 用于转换错误,将错误类型转换成我们自定义的错误
处理多个订阅者 操作符
multicast - 一个发布者,多个订阅者,可以同时收到数据,需要使用multicast操作符链接PassthroughSubject