Template prefilters are PHP functions that your templates are ran through before they are compiled. This is good for preprocessing your templates to remove unwanted comments, keeping an eye on what pe
TakeLast 发射Observable发射的最后N项数据 使用TakeLast操作符修改原始Observable,你可以只发射Observable’发射的后N项数据,忽略前面的数据。 taskLast.n 使用takeLast操作符,你可以只发射原始Observable发射的后N项数据,忽略之前的数据。注意:这会延迟原始Observable发射的任何数据项,直到它全部完成。 takeLast的
Take 只发射前面的N项数据 使用Take操作符让你可以修改Observable的行为,只返回前面的N项数据,然后发射完成通知,忽略剩余的数据。 RxJava将这个操作符实现为take函数。 如果你对一个Observable使用take(n)(或它的同义词limit(n))操作符,而那个Observable发射的数据少于N项,那么take操作生成的Observable不会抛异常或发射onErro
SkipLast 抑制Observable发射的后N项数据 使用SkipLast操作符修改原始Observable,你可以忽略Observable’发射的后N项数据,只保留前面的数据。 使用SkipLast操作符,你可以忽略原始Observable发射的后N项数据,只保留之前的数据。注意:这个机制是这样实现的:延迟原始Observable发射的任何数据项,直到它发射了N项数据。 skipLast的
Skip 抑制Observable发射的前N项数据 使用Skip操作符,你可以忽略Observable’发射的前N项数据,只保留之后的数据。 RxJava中这个操作符叫skip。skip的这个变体默认不在任何特定的调度器上执行。 Javadoc: skip(int)) skip的这个变体接受一个时长而不是数量参数。它会丢弃原始Observable开始的那段时间发射的数据,时长和时间单位通过参数指定
Sample 定期发射Observable最近发射的数据项 Sample操作符定时查看一个Observable,然后发射自上次采样以来它最近发射的数据。 在某些实现中,有一个ThrottleFirst操作符的功能类似,但不是发射采样期间的最近的数据,而是发射在那段时间内的第一项数据。 RxJava将这个操作符实现为sample和throttleLast。 注意:如果自上次采样以来,原始Observ
Last 只发射最后一项(或者满足某个条件的最后一项)数据 如果你只对Observable发射的最后一项数据,或者满足某个条件的最后一项数据感兴趣,你可以使用Last操作符。 在某些实现中,Last没有实现为一个返回Observable的过滤操作符,而是实现为一个在当时就发射原始Observable指定数据项的阻塞函数。在这些实现中,如果你想要的是一个过滤操作符,最好使用TakeLast(1)。
IgnoreElements 不发射任何数据,只发射Observable的终止通知 IgnoreElements操作符抑制原始Observable发射的所有数据,只允许它的终止通知(onError或onCompleted)通过。 如果你不关心一个Observable发射的数据,但是希望在它完成时或遇到错误终止时收到通知,你可以对Observable使用ignoreElements操作符,它会确保永
First 只发射第一项(或者满足某个条件的第一项)数据 如果你只对Observable发射的第一项数据,或者满足某个条件的第一项数据感兴趣,你可以使用First操作符。 在某些实现中,First没有实现为一个返回Observable的过滤操作符,而是实现为一个在当时就发射原始Observable指定数据项的阻塞函数。在这些实现中,如果你想要的是一个过滤操作符,最好使用Take(1)或者Eleme
Filter 只发射通过了谓词测试的数据项 Filter操作符使用你指定的一个谓词函数测试数据项,只有通过测试的数据才会被发射。 RxJava将这个操作符实现为filter函数。 示例代码 Observable.just(1, 2, 3, 4, 5) .filter(new Func1<Integer, Boolean>() { @Override
ElementAt 只发射第N项数据 ElementAt操作符获取原始Observable发射的数据序列指定索引位置的数据项,然后当做自己的唯一数据发射。 RxJava将这个操作符实现为elementAt,给它传递一个基于0的索引值,它会发射原始Observable数据序列对应索引位置的值,如果你传递给elementAt的值为5,那么它会发射第六项的数据。 如果你传递的是一个负数,或者原始Obse
Distinct 抑制(过滤掉)重复的数据项 Distinct的过滤规则是:只允许还没有发射过的数据项通过。 在某些实现中,有一些变体允许你调整判定两个数据不同(distinct)的标准。还有一些实现只比较一项数据和它的直接前驱,因此只会从序列中过滤掉连续重复的数据。 distinct() RxJava将这个操作符实现为distinct函数。 示例代码 Observable.just(1, 2,
Debounce 仅在过了一段指定的时间还没发射数据时才发射一个数据 Debounce操作符会过滤掉发射速率过快的数据项。 RxJava将这个操作符实现为throttleWithTimeout和debounce。 注意:这个操作符会会接着最后一项数据发射原始Observable的onCompleted通知,即使这个通知发生在你指定的时间窗口内(从最后一项数据的发射算起)。也就是说,onComple
这个页面展示的操作符可用于过滤和选择Observable发射的数据序列。 filter( ) — 过滤数据 takeLast( ) — 只发射最后的N项数据 last( ) — 只发射最后的一项数据 lastOrDefault( ) — 只发射最后的一项数据,如果Observable为空就发射默认值 takeLastBuffer( ) — 将最后的N项数据当做单个数据发射 skip( ) — 跳过
有时候,我们可能会希望在远程过程调用中对通讯的一些细节有更多的控制,比如对传输中的数据进行加密、压缩、签名、跟踪、协议转换等等,但是又希望这些工作能够跟服务函数/方法本身可以解耦。这个时候,Hprose 过滤器就是一个不错的选择。 Hprose 过滤器是一个接口,它有两个方法: inputFilter(data, context) outputFilter(data, context) 其中 i