协程后从函数返回值

时间:2020-02-25 11:24:35

标签: kotlin kotlin-coroutines

我正在编写一个android contentprovider,并且insert函数调用房间插入操作。我正在从协程调用此操作,但是我需要在协程中返回的ID来构建一个uri以返回到函数调用方。


    override fun insert(uri: Uri, values: ContentValues?): Uri? {
            ...
            val id: Long...
            GlobalScope.launch {
               id = dao.insert(entity)
            }

            //I NEED THE id so i can do following
            context.contentResolver.notifyChange(uri, null)
            return ContentUris.withAppendedId(uri, id)
           ...
    }

但是发生的当然是该函数以id为0继续。尽管协程会执行并插入,但我无法获得id。

0 个答案:

没有答案