我在Kotlin中有简单的代码,他用okhttp lib列出了请求(150),并使用JSOUp解析了每个HTML结果。
我使用协程,但是我不明白,有或没有协程的时间都是相同的(23秒)
也许我做得不好?还是http请求受限制?
我的代码:
fun parse(list: ArrayList<ChampionBean>) {
runBlocking {
list.forEach {
launch {
val response = requestWithOkhttp(it.url)
val doc = Jsoup.parse(response.body?.string())
response.close()
parsedocwithJsoup(doc, it)
}
}
}
}
答案 0 :(得分:0)
我只添加Dispatchers.Default即可。 7秒,而不是23秒。 我不知道为什么,默认调度程序不是默认调度程序。 该代码在Intellij中的主方法中运行,没有UI
fun parse(list: ArrayList<ChampionBean>) {
runBlocking {
list.forEach {
launch(Dispatchers.Default) {
val response = requestWithOkhttp(it.url)
val doc = Jsoup.parse(response.body?.string())
response.close()
parsedocwithJsoup(doc, it)
}
}
}
}