Just 运算符将一个项目转换为一个发出该项目的 Observable。
Just 与 From 类似,但请注意 From 会深入到数组、可迭代对象或类似的东西中以提取要发出的项目,而 Just 只会将数组、可迭代对象或其他任何东西原封不动地发出,作为一个单一项目。
请注意,如果您将 null 传递给 Just,它将返回一个发出 null 作为项目的 Observable。不要误以为这将返回一个空的 Observable(一个根本不发出任何项目的 Observable)。为此,您需要 Empty 运算符。
待定
RxGroovy 将此运算符实现为 just。它接受一个到九个项目作为参数,并返回一个以相同顺序发出这些项目的 Observable,与参数列表中提供的顺序相同。
just 默认情况下不会在任何特定的 Scheduler 上运行。
// Observable emits "some string" as a single item
def observableThatEmitsAString = Observable.just("some string");
// Observable emits the list [1, 2, 3, 4, 5] as a single item
def observableThatEmitsAList = Observable.just([1, 2, 3, 4, 5]);
// Observable emits 1, 2, 3, 4, and 5 as distinct items
def observableThatEmitsSeveralNumbers = Observable.just( 1, 2, 3, 4, 5 );just(item)(还有一些版本接受两个到九个项目作为参数)
RxJava 将此运算符实现为 just。它接受一个到九个项目作为参数,并返回一个以相同顺序发出这些项目的 Observable,与参数列表中提供的顺序相同。
just 默认情况下不会在任何特定的 Scheduler 上运行。
Observable.just(1, 2, 3)
.subscribe(new Subscriber<Integer>() {
@Override
public void onNext(Integer item) {
System.out.println("Next: " + item);
}
@Override
public void onError(Throwable error) {
System.err.println("Error: " + error.getMessage());
}
@Override
public void onCompleted() {
System.out.println("Sequence complete.");
}
});Next: 1 Next: 2 Next: 3 Sequence complete.
just(item)(还有一些版本接受两个到九个项目作为参数)
RxJS 将此运算符实现为 return 和 just(两个名称代表相同运算符,具有相同行为)。它接受一个项目作为参数,并返回一个将该项目作为其唯一发射项发出的 Observable。
return/just 默认情况下在 immediate Scheduler 上运行,但您也可以将您选择的 Scheduler 作为可选的第二个参数传入,在这种情况下,它将改为在该 Scheduler 上运行。
var source = Rx.Observable.just(42);
var subscription = source.subscribe(
function (x) { console.log('Next: %s', x); },
function (err) { console.log('Error: %s', err); },
function () { console.log('Completed'); });Next: 42 Completed
return/just 可以在以下每个发行版中找到
rx.jsrx.compat.jsrx.lite.jsrx.lite.compat.js待定
RxPHP 将此运算符实现为 of。
返回一个包含单个元素的可观察序列。
//from https://github.com/ReactiveX/RxPHP/blob/master/demo/of/of.php $source = \Rx\Observable::of(42); $subscription = $source->subscribe($stdoutObserver);
Next value: 42
Complete!
待定
在 Swift 中,这是使用 Observable.just 类方法实现的。
参数,无论是元组(即 (1, 2, 3))还是数组(即 [1,2,3]),都将产生一个发射项。
let source = Observable.just(1, 2, 3)
source.subscribe {
print($0)
}
let source2 = Observable.just([1,2,3])
source2.subscribe {
print($0)
}
next((1, 2, 3)) completed next([1, 2, 3]) completed
这与 Observable.from 的区别在于,后者的参数是一个数组或一个序列,并将其每个元素作为一次发射项发射。