Просто
создайте Observable, который испускает определенный элемент
Оператор Just преобразует элемент в Observable, который испускает этот элемент.
Just похож на From, но обратите внимание, что From будет углубляться в массив или итерируемый объект или что-то подобное, чтобы извлечь элементы для испускания, в то время как Just просто испустит массив или итерируемый объект или что угодно, как есть, без изменений, как единственный элемент.
Обратите внимание, что если вы передадите null в Just, он вернёт Observable, который испускает null как элемент. Не делайте ошибки, предполагая, что это вернёт пустое Observable (которое не испускает никаких элементов). Для этого вам понадобится оператор Empty.
См. также
- From
- Repeat
- Start
- Timer
- Введение в Rx: Возвращение
- RxJava Tutorial 03: Observable from, just, & create methods
Информация, специфичная для языка
RxGroovy just
RxGroovy реализует этот оператор как just. Он принимает от одного до девяти элементов в качестве параметров и возвращает Observable, который испускает эти элементы в том же порядке, в котором они указаны в списке параметров.
just по умолчанию не работает с каким-либо конкретным Планировщиком.
Пример кода
// 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 ); - Javadoc:
just(item)(также есть версии, которые принимают от двух до девяти элементов в качестве параметров)
RxJava 1․x just
RxJava реализует этот оператор как just. Он принимает от одного до девяти элементов в качестве параметров и возвращает Observable, который испускает эти элементы в том же порядке, в котором они указаны в списке параметров.
just по умолчанию не работает с каким-либо конкретным Планировщиком.
Пример кода
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.
- Javadoc:
just(item)(также есть версии, которые принимают от двух до девяти элементов в качестве параметров)
RxJS just return
RxJS реализует этот оператор как return и как just (два названия для одного оператора с одинаковым поведением). Он принимает один элемент в качестве параметра и возвращает Observable, который испускает этот единственный элемент в качестве единственного испускания.
return/just по умолчанию работает на immediate Планировщике, но вы также можете передать планировщик по своему выбору в качестве необязательного второго параметра, в таком случае он будет работать на этом планировщике вместо этого.
Пример кода
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
RxPHP реализует этот оператор как of.
Возвращает последовательность observable, содержащую один элемент.
Пример кода
//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!
RxSwift just sequenceOf
В 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 заключается в том, что параметр последнего является массивом или последовательностью, и каждый его элемент испускается как одно испускание.
© ReactiveX contributors
Licensed under the Apache License 2.0.
http://reactivex.io/documentation/operators/just.html