我在@Dao
中有一个函数。让我们称其为DaoClass
类
abstract fun getData() : Flowable<List<Data>>
现在,我想检查返回的数据列表是否为空。我仔细研究了DaoClass_Impl (在构建时生成),发现可流动的不会是空的。所以,
getData().isEmpty
将始终返回false。
所以,如果返回的列表实际上是空的,我所做的就是返回getData().singleOrError().map{it.isEmpty()}
。
但我有问题,因为价值没有被释放。
发布于 2018-07-02 14:48:44
您需要检查singleOrError
实际做了什么:
返回一个发出由该可流动项发出的单个项的单个项,如果该可流动项只发出单个项,否则如果该可流动项完成而不发出任何项,则将发出一个NoSuchElementException信号,如果该可流动项发出多个项,则将发出一个IllegalArgumentException信号。
您要寻找的是firstOrError
,它只返回发出的第一个值。
https://stackoverflow.com/questions/51144111
复制