莫希:如何修复协程中的"Inappropriate blocking method call"警告?



我将其与DataStore一起用于转换Flow结果,它显示了MoshifromJson方法的警告

dataStore.data.map {
val json = it[key]
json?.let { adapter.fromJson(json) } ?: defaultValue
}

有没有可能在不忽视警告的情况下解决这个问题?

我认为您需要做的是使用withContext方法更改fromJson方法的执行线程(更改执行上下文(:

dataStore.data.map { data ->
val json = data[key]
json?.let { parseJson(it) } ?: defaultValue
}
suspend fun parseJson(json: String) = withContext(Dispatchers.IO) {
adapter.fromJson(json)
}

相关内容

  • 没有找到相关文章

最新更新