【发布时间】:2018-10-13 04:43:51
【问题描述】:
我正在使用具有两个函数的外部 API,一个返回 Maybe,另一个返回 Completable(参见下面的代码)。我希望我的函数 'saveUser()' 返回一个Completable,这样我就可以使用doOnSuccess() 和doOnError 来检查它。但目前我的代码无法编译。另请注意,如果我的“getMaybe”没有返回任何内容,我想在我的平面图中获取一个空值作为参数,以便我可以处理空值与非空值的情况(如代码所示) .
private Maybe<DataSnapshot> getMaybe(String key) {
// external API that returns a maybe
}
private Completable updateChildren(mDatabase, childUpdates) {
// external API that returns a Completable
}
// I'd like my function to return a Completable but it doesn't compile now
public Completable saveUser(String userKey, User user) {
return get(userKey)
.flatMap(a -> {
Map<String, Object> childUpdates = new HashMap<>();
if (a != null) {
// add some key/values to childUpdates
}
childUpdates.put(DB_USERS + "/" + userKey, user.toMap());
// this returns a Completable
return updateChildren(mDatabase, childUpdates)
});
}
【问题讨论】:
-
你能把编译器错误放在问题里吗?