我等待 Future 完成并在控制臺上列印內容。即使一切都完成了,主應用程式也不會退出,我必須手動殺死它。
def main(args: Array[String]): Unit {
val req = HttpRequest(GET, myURL)
val res = Http().singleRequest(req)
val resultsFutures = Future {
val resultString = Await.result(HttpRequests.unpackResponse(res), Duration.Inf)
JsonMethods.parse(resultString).extract[List[Results]]
}
val results = Await.result(resultsFutures, Duration.Inf)
println(results)
}
所以results在控制臺上列印出預期的競爭,但應用程式仍然沒有結束。我可以做些什么來退出應用程式?是否還有東西在運行,主要在等待?
我正在使用:
- 斯卡拉 2.12.10
- 阿卡 2.5.26
- 阿卡Http 10.1.11
uj5u.com熱心網友回復:
當您使用 Akka 時,您可能會在ActorSystem后臺以某種方式實體化,以保持行程運行。
actorSystem.terminate()您可以使用它并呼叫它的方法,或者您也可以sys.exit(0)在主方法的末尾使用顯式(0即您想要的退出代碼)。
編輯:您還應該將Awaits包裹起來,Try并確保sys.exit在出現故障時也呼叫。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/338801.html
上一篇:通過不匹配另一列來過濾一列
