在这篇带有 Scalatra 的 Angular.js帖子中,据说 http 调用是异步的。我看到对演员的调用是通过以下方式完成的:
myActor ? q
但是在 scalatra 主页中,我看到他们用 AsyncResult 封装了调用,请参见:
get("/"){
new AsyncResult { def is =
Future {
// Add async logic here
<html><body>Hello Akka</body></html>
}
}
}
两者有区别吗?我知道第一个是调用一个返回未来的演员,这是否意味着两个调用都是异步的?
你能详细说明一下
get("/query/:key/:value") {
contentType = formats("json")
val q = Query(params("key"), params("value"), mongoColl)
myActor ? q
}
http线程释放了吗?