我有一些方法

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() )

10-04 17:13