将谓词函数传递给 All 运算符,该运算符接受源可观察对象发出的项目,并根据对该项目的评估返回布尔值。 All 返回一个可观察对象,它发出一个布尔值:true 当且仅当源可观察对象正常终止并且源可观察对象发出的每个项目根据此谓词评估为 true 时;false 如果源可观察对象发出的任何项目根据此谓词评估为 false。
待定
RxGroovy 将此运算符实现为 all。它默认情况下不会在任何特定 调度器 上运行。以下示例展示了如何使用此运算符
numbers = Observable.from([1, 2, 3, 4, 5]);
println("all even?" )
numbers.all({ 0 == (it % 2) }).subscribe({ println(it); });
println("all positive?");
numbers.all({ 0 < it }).subscribe({ println(it); });all even? false all positive? true
all(Func1)
RxJava 1.x 将此运算符实现为 all。它默认情况下不会在任何特定 调度器 上运行。
all(Func1)
RxJava 2.x 将此运算符实现为 all。它默认情况下不会在任何特定 调度器 上运行。
all(Predicate)
RxJS 将此运算符实现为 every。以下示例展示了如何使用此运算符
var source = Rx.Observable.of(1,2,3,4,5)
.every(function (x) {
return x < 6;
});
var subscription = source.subscribe(
function (x) { console.log('Next: %s', x); },
function (err) { console.log('Error: %s', err); },
function () { console.log('Completed'); });Next: true Completed
every 存在于以下发行版中
rx.all.jsrx.all.compat.jsrx.aggregates.js它需要以下发行版之一
rx.jsrx.compat.jsrx.lite.jsrx.lite.compat.js还有一个 jortSort 运算符,它对源可观察对象发出的整个项目序列执行测试。如果这些项目按排序顺序发出,则在源可观察对象成功完成时,从 jortSort 返回的可观察对象将发出 true 然后完成。如果源可观察对象发出的任何项目超出排序顺序,则在源可观察对象成功完成时,从 jortSort 返回的可观察对象将发出 false 然后完成。
还有一个 jortSortUntil 运算符。它不会像 jortSort 那样等待源可观察对象完成以评估其序列的有序性,而是等待第二个可观察对象发出项目来执行此操作。
var source = Rx.Observable.of(1,2,3,4) // already sorted
.jortSort();
var subscription = source.subscribe(
function (x) { console.log('Next: %s', x); },
function (e) { console.log('Error: %s', e); },
function ( ) { console.log('Completed'); });Next: true Completed
var source = Rx.Observable.of(3,1,2,4) // not sorted
.jortSort();
var subscription = source.subscribe(
function (x) { console.log('Next: %s', x); },
function (e) { console.log('Error: %s', e); },
function ( ) { console.log('Completed'); });Next: false Completed
var just = Rx.helpers.just;
var source = Rx.Observable.of(1,2,3,4) // already sorted
.flatmap(function (x) {
return Rx.Observable.timer(1000).map(just(x));
}).jortSortUntil(Rx.Observable.timer(3000);
var subscription = source.subscribe(
function (x) { console.log('Next: %s', x); },
function (e) { console.log('Error: %s', e); },
function ( ) { console.log('Completed'); });Next: true Completed
var just = Rx.helpers.just;
var source = Rx.Observable.of(3,1,2,4) // not sorted
.flatmap(function (x) {
return Rx.Observable.timer(1000).map(just(x));
}).jortSortUntil(Rx.Observable.timer(3000);
var subscription = source.subscribe(
function (x) { console.log('Next: %s', x); },
function (e) { console.log('Error: %s', e); },
function ( ) { console.log('Completed'); });Next: false Completed
jortSort 和 jortSortUntil 存在于以下发行版中
rx.sorting.js它们需要以下发行版之一
rx.jsrx.compat.jsrx.lite.jsrx.lite.compat.js待定
待定
待定