SwitchIfEmpty没有在里面执行maybesource

时间:2017-08-22 20:42:19

标签: android rx-java rx-java2 rx-kotlin

我有一些方法

Maybe<Foo> getLocalFoo()
Single<List<Foo>> getFooFromInternet()

并且想要检查本地项目,如果它是空的,那么例如从网络获取该项目。

storage
            .getLocalFoo()
            .switchIfEmpty { network.getFooFromInternet().map { it[0] }.toMaybe() }
            .subscribe({}, {})

但是认为代码没有执行 network.getBarcodeTemplates()这个函数。

1 个答案:

答案 0 :(得分:2)

(行中使用{代替switchIfEmpty

.switchIfEmpty ( network.getFooFromInternet().map { it[0] }.toMaybe() )