美文网首页
Combine - Operator(操作符)(三)

Combine - Operator(操作符)(三)

作者: 盟主直播Libx | 来源:发表于2021-11-25 11:33 被阅读0次

    过滤 操作符|时间控制 操作符|(计算 & 减少 & 数学 操作符)


    过滤 操作符

    compactMap & tryCompactMap - 类似map,但会过滤掉nil(不符合规则)的元素

    removeDuplicates & tryRemoveDuplicates - 过滤连续的同样的数据,比如6,6,7,6,发送的是6,7,6

    replaceError - 使用默认的一个错误,替换上游发出的错误。

    replaceEmpty - 替换不发送数据的Empty的Publisher

    replaceNil - 替换nil的数据

    filter & tryFilter - 过滤不符合规则的元素

    时间控制 操作符

    delay - 接受到值后延迟多久再发送

    debounce - 接受到值后启动定时器,定时器结束之前,来新的值了,重置计时器时间,直到计时器结束后发送 - 比如实时搜索框

    throttle - 在指定的时间内,连续的收到数据(如果有短暂不收到数据,会发送这次数据,并重新开始),会发送第一个或者最后一个数据,发送- 比如实时搜索框

    measureInterval - 用于调试的操作符,计算两次值发出的时间间隔,单位是纳秒(1000000000)

     timeout - 在指定时间内收到值,如果没收到,超时,发送completion结束,如果收到了,重新开始timeout

    collect(.byTime(DispatchQueue.main,.seconds(collectTimeStride)) - 每隔一段事件收集数据,变成数组发送

    计算 减少 数学 操作符

    collect - 按照指定元素个数拆分为合适的集合

    reduce & tryReduce - 执行闭包,记录上次的闭包结果

    ignoreOutput - 忽略receive收到的值,只关心完成结果

    max & tryMax & min & tryMin - 记录序列里最大(小)的值,并发送结果,要求原始序列是已完成的序列

    count - 记录原始序列里发出的值的个数,并发送结果,要求原始序列是已完成的序列

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

    下一篇:Combine - Operator(操作符)(四)(完结)

    相关文章

      网友评论

          本文标题:Combine - Operator(操作符)(三)

          本文链接:https://www.haomeiwen.com/subject/waantrtx.html