我终于掌握了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();
基本上如果我在一个链中间,操作员最好对一个函数进行一些仲裁调用,然后恢复定期调度程序....