在Kotlin 1.1.0中发出异步网络请求的正确方法,无需额外的库
我目前正在开发一个mod,目标是他们系统的一个非常旧的版本 相关信息:在Kotlin 1.1.0中发出异步网络请求的正确方法,无需额外的库,kotlin,minecraft-forge,Kotlin,Minecraft Forge,我目前正在开发一个mod,目标是他们系统的一个非常旧的版本 相关信息: Gradle包装不能比版本3.0更新 Kotlin不能比版本1.1.0更新 我似乎找不到关于kotlin的版本化文档 我的代码被注入主程序;它不是独立运行的 这不是在android上运行的 我一直在试图弄清楚如何正确/惯用地使用纯kotlin创建异步网络请求,并在完成后更新主线程上的项目。网络请求完成后不应永久挂起主程序 到目前为止,我所尝试的: // Player is a custom class of mine t
- Gradle包装不能比版本3.0更新
- Kotlin不能比版本1.1.0更新
- 我似乎找不到关于kotlin的版本化文档
- 我的代码被注入主程序;它不是独立运行的
- 这不是在android上运行的
// Player is a custom class of mine that stores data I fetch here
class FetchStatsThread(val uuid: String, val callback: (player: Player) -> Unit): Thread() {
override fun run() {
val url = URL("domain")
val request: URLConnection = url.openConnection()
request.connect()
val str = InputStreamReader(request.getContent() as InputStream).buffered().use(BufferedReader::readText)
// do some stuff here that generates a Player object named playerData
callback(playerData)
}
}
...
// Elsewhere, i trigger the request with:
FetchStatsThread(uuid, callback).start()
在kotlin 1.1或更早版本中,这是发出异步网络请求的正确方法吗?不是重复的:,由于这些问题涉及Kotlin 1.3或androidI上的Kotlin的功能,我认为您最好弄清楚如何更新您的gradle/Kotlin版本,而不是试图解决一个非常过时的版本kotlin@krit为什么您要限制Gradle和Kotlin版本?您的目标是哪个JDK版本?如果JDK11+您有一个更高级别的
HttpClient
可以使用,而不是老式的URLConnection