【发布时间】:2014-11-24 22:47:18
【问题描述】:
所以我有一个异步操作A,它依赖于一秒钟,B。如何使 B 成为 A 的延续,就像使用 then 函数 Javascript Promises 或使用 .NET TPL 中的 ContinueWith 一样?
让我们从 Android 中获取一个场景,其中我有两个服务端点:
- 用于获取图片 URL 的方法
- 用于获取图像本身
代码:
private void loadImage(final ImageView imageView) {
Observable<String> stringObs = getImageUrlAsync();
stringObs.subscribe(new Action1<String> () {
@Override
public void call(String imageUrl) {
// First async operation done
Observable<Bitmap> bitmapObs = getBitmapAsync(imageUrl);
bitmapObs.subscribe(new Action1<Bitmap>() {
@Override
public void call(Bitmap image) {
// second async operation done
imageView.setImageBitmap(image);
}
});
}
});
}
我希望 不 让这两个操作在代码方面嵌套,但采用一种读起来更像它的行为的格式 - 顺序。
关于 RxJava/RxAndroid 中的 Observables,我一直找不到任何关于延续的信息。有人可以帮忙吗?
【问题讨论】:
标签: java android rx-java rx-android