【发布时间】:2021-12-19 09:26:52
【问题描述】:
class MyViewModel(private val db: AppDatabase): ViewModel() {
suspend fun insertAndRead(pages: List<Page>) {
db.withTransaction {
db.pageDao().insertAll(pages)
}
val pagesInserted = db.pageDao().selectAll()
}
}
我很好奇 Room 处理 withTransaction 块。
让我们以上面的代码示例为例。 Room 是否等待withTransaction 块运行完毕,然后转到下一行?
或者它只是在协程内运行withTransaction 块,然后立即开始下一行而不等待withTransaction 块完成?
【问题讨论】:
-
为什么你不使用协程。?使用作业它会在作业完成后执行下一行。?
标签: android kotlin android-room kotlin-coroutines