什么rx运算符用于在链中间调用网络功能?

时间:2015-01-22 12:17:51

标签: android reactive-programming rx-java

我终于掌握了rx。所以这里有问题......

    addressSubscription = AppObservable.bindActivity(this, lastKnownLocationObservable
            .flatMap(new Func1<Location, Observable<List<Address>>>() {
                @Override
                public Observable<List<Address>> call(Location location) {
                    return locationProvider.getGeocodeObservable(location.getLatitude(), location.getLongitude(), 1);
                }
            })
            .map(new Func1<List<Address>, Address>() {
                @Override
                public Address call(List<Address> addresses) {
                    return addresses != null && !addresses.isEmpty() ? addresses.get(0) : null;
                }
            })
            .map(new AddressToStringFunc())

            CALL A OPERATOR HERE THAT WILL SEND SOME RESULTS FROM THIS
            CHAIN OVER THE NETWORK

            .subscribeOn(Schedulers.io()))
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe();

基本上如果我在一个链中间,操作员最好对一个函数进行一些仲裁调用,然后恢复定期调度程序....

1 个答案:

答案 0 :(得分:1)

如果你想做一些副作用的东西,你可以使用doXXX运算符,例如doOnNext