Spec-Zone.ru › ReactiveX

Просто

создайте Observable, который испускает определенный элемент
Just

Оператор 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

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

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

just

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.js
  • rx.compat.js
  • rx.lite.js
  • rx.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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API