gpt4 book ai didi

android - Android Room 在继续下一行之前是否等待 withTransaction block 完成

转载 作者:行者123 更新时间:2023-12-04 23:58:53 26 4
gpt4 key购买 nike

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 block 感到好奇。

让我们用上面的代码示例来说明。 Room 是否等待 withTransaction block 完成运行,然后转到下一行?

或者它只是在协程中运行 withTransaction block ,然后立即开始下一行而不等待 withTransaction block 完成?

最佳答案

withTransaction() 是一个挂起函数。挂起函数通常通过挂起等待,它们与其调用者同步,它们不调度异步操作。

所以答案是:是的,它等待内部 block 完成执行。

关于android - Android Room 在继续下一行之前是否等待 withTransaction block 完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69851295/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com