我有一份url请求清单,我想从中得出一个综合结果。我希望请求同时触发,而不是等待所有返回。
另一个问题,如果失败,我该如何避免结果,而与其他人继续。
第一个问题是我目前正在做什么:
suspend fun getFromNetworkDynamic() {
withContext(Dispatchers.Default) {
myDao.deleteAll()
val sources = getSources()
val asynctasks: MutableList<Deferred<List<SomeData>>> = mutableListOf()
for (source in sources) {
val data = async {
return@async response myApiService.getRequestAsync(source.link).await()
}
asynctasks.add(data)
}
for (asynctask in asynctasks) {
myDao.bulkInsert(asynctask.await())
}
}
}
有更好的解决方案吗? 在一个请求失败但继续执行其余请求的情况下,如何添加错误处理?