【发布时间】:2016-10-25 04:36:47
【问题描述】:
我有一个 PublishSubject<String> 从一个 id 发出 Article:
private final PublishSubject<String> inputArticle = PublishSubject.create();
public Observable<Article> getArticle() {
return inputArticle.flatMap(getArticleById());
}
private Func1<String, Observable<Article>> getArticleById() {
return new Func1<String, Observable<Article>>() {
@Override
public Observable<Article> call(String articleId) {
return dataModel.getArticleById(articleId);
}
};
}
在另一个地方,我发出这样的值:
inputArticle.onNext("1234");
如果我发出的文章 ID 与任何文章都不匹配,dataModel.getArticleById(id) 会发出错误,这没关系。但我想在那个错误之后继续发出值。
我正在 Android 中实现 MVVM。我的观点绑定到public Observable<Article> getArticle()。当用户输入文章 id 时,inputArticle.onNext(inputArticleId); 被调用。所以,很可能id不存在。
【问题讨论】:
标签: rx-java