0

我注意到当删除表的最后一个值时,流不会发出值。

例子:

@Query("SELECT * FROM plants ORDER BY name")
    fun getPlants(): Flow<List<Plant>>

因此,此表中有 2 株植物。现在我们删除工厂 1。正如我们所料,流程的观察者正在收到通知。现在直接删除植物 2,即表中的最后一个植物。此更改不会发出,观察者也不会收到通知。

我还注意到,如果您在植物 1 被移除后完全杀死应用程序,然后再次启动应用程序并删除第二个也是最后一个植物,则会发出更改并通知观察者。

这是房间/流程中的错误吗?我真的很想在发生这种情况时通知我的观察员。

我正在使用 Kotlin 1.3.72、协程 1.3.6 和 Room 2.2.5

4

1 回答 1

0

我只是愚蠢。显然我在某个地方取消了 CoroutineScope,它与启动观察者的范围相同。

于 2020-05-13T11:09:41.813 回答