官术网_书友最值得收藏!

Using Observable.just()

Before we look at the subscribe() method a bit more, note that you likely will not need to use Observable.create() often. It can be helpful in hooking into certain sources that are not reactive, and we will see this in a couple of places later in this chapter. But typically, we use streamlined factories to create Observables for common sources.

In our previous example with Observable.create(), we could have used Observable.just() to accomplish this. We can pass it up to 10 items that we want to emit. It will invoke the onNext() call for each one and then invoke onComplete() when they all have been pushed:

    import io.reactivex.Observable;

public class Launcher {
public static void main(String[] args) {
Observable<String> source =
Observable.just("Alpha", "Beta", "Gamma", "Delta",
"Epsilon");

source.map(String::length).filter(i -> i >= 5)
.subscribe(s -> System.out.println("RECEIVED: " + s));
}
}

We can also use Observable.fromIterable() to emit the items from any Iterable type, such as a List. It also will call onNext() for each element and then call onComplete() after the iteration is complete. You will likely use this factory frequently since Iterables in Java are common and can easily be made reactive:

    import io.reactivex.Observable;
import java.util.Arrays;
import java.util.List;

public class Launcher {
public static void main(String[] args) {

List<String> items =
Arrays.asList("Alpha", "Beta", "Gamma", "Delta", "Epsilon");

Observable<String> source = Observable.fromIterable(items);
source.map(String::length).filter(i -> i >= 5)
.subscribe(s -> System.out.println("RECEIVED: " + s));
}
}

We will explore other factories to create Observables later in this chapter, but for now, let's put that on hold and learn more about Observers.

主站蜘蛛池模板: 三明市| 册亨县| 新绛县| 靖边县| 福州市| 上林县| 军事| 五常市| 睢宁县| 孝感市| 甘洛县| 黄大仙区| 方山县| 嘉善县| 四平市| 凌源市| 阿巴嘎旗| 泰来县| 道真| 福建省| 舒城县| 云林县| 彰化县| 东乌珠穆沁旗| 太仓市| 元朗区| 从化市| 平潭县| 扎囊县| 浮梁县| 班戈县| 德化县| 井研县| 屯留县| 蓬安县| 怀安县| 蕲春县| 施甸县| 东台市| 兖州市| 涪陵区|