我正在遵循有关 RemoteMediator 的教程database.withTransaction{},一切都很好,直到我在使用允许数据库操作时遇到奇怪的错误。
不幸的是,IDE 似乎没有(或拒绝)识别这个非常真实和合法的块。我已检查是否正确定义了 ROOM 数据库抽象类,并在 build.gradle(app) 文件中声明了这些 ROOM 和 Paging 3 库。
// Room
implementation "androidx.room:room-runtime:2.4.3"
kapt "androidx.room:room-compiler:2.4.3"
// Room-paging artifact
implementation 'androidx.room:room-paging:2.4.3'
// Paging 3.0
implementation 'androidx.paging:paging-compose:1.0.0-alpha16'
Run Code Online (Sandbox Code Playgroud)
因此,我决定忽略该错误并继续调用块dao内的函数withTransaction{},但我得到Suspension functions can be call only inside a coroutine body。
这有点令人困惑,因为 RemoteMediator 的load()覆盖函数已经是一个挂起函数。
任何对这个问题有见解的人请帮忙,因为我似乎没有解决这个问题。