room:如何在Kotlin Android中获取有关Room交易成功/失败的回调?

时间:2018-12-01 16:30:00

标签: android lambda kotlin android-room

我正在使用Kotlin在Android应用程序中使用Room持久库。在少数情况下,我希望在房间完成交易后得到回调。是的,我们可以使用LiveData,而我已经在使用它,但是在极少数情况下,我们的应用程序不想观察更改,而是需要一次性回调来提前处理。 例如,我正在使用以下设置:

fun insertNewData(oldList: List<String>, finalList: List<String>, callback: () -> Unit) {
    launch(Dispatchers.IO) {
        async {
            //1. Call function to delete old relations
            // Delete query on JoinTable

            //2.Call function to get IDs for new data
            // Select or insert query on TableOne

            //3. Call function to assign new relations
            // Insert query on JoinTable
        }.await()

        callback()
    }
}

那么这是一个好的设置还是Kotlin中有更好的方法? 在上面的函数中,我传递了一个lambda函数来获取回调,而不是使用LiveData观察更改。

0 个答案:

没有答案