在Room插入后返回Flow<List<Long>>是否可能?

4

在 Room 插入数据后,是否可能返回 Flow<List<Long>> 呢?

比如这样:

@Insert(onConflict = REPLACE)
suspend fun insert( notesModel: List<NotesModel>): Flow<List<Long>>

当我尝试执行它时,会发生异常:
错误:不确定如何处理插入方法的返回类型。
1个回答

2
据我所知,你不能这样做。被注释为@Insert的函数的返回类型可以是UnitLongList<Long>Array<Long>
只有被注释为@Query的函数才能返回像LivaDataFlowSingleFlowable等可观察对象。因为@Query函数被设计成能够反映数据库中的变化。
以下是官方文档的一句话:

如果@Insert方法只接收1个参数,则可以返回一个long,该long是插入项的新rowId。如果参数是数组或集合,则应返回long[]或List。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接