我有一些方法
Maybe<Foo> getLocalFoo()
Single<List<Foo>> getFooFromInternet()
并想要检查本地项目,如果它为空,则从网络中获取该项目。
storage
.getLocalFoo()
.switchIfEmpty { network.getFooFromInternet().map { it[0] }.toMaybe() }
.subscribe({}, {})
但是可以看到,代码没有执行network.getBarcodeTemplates()这个函数。
最佳答案
尝试在(
行中使用{
代替switchIfEmpty
:
.switchIfEmpty ( network.getFooFromInternet().map { it[0] }.toMaybe() )