我正在使用json4s和play framework,我有一些地方我会在将来运行post/get请求,然后onSuccess将响应解析为一个对象并让actor将它发回给自己。一个例子:斯卡拉发送消息给自己好还是坏?
WS.url(authUrl).post("username=admin&password=admin") map {
response =>
self ! (parse(response.body) \ "body").extract[AuthObject]
}
,然后在接收方法回:
case AuthObject(_, sid) => //handle authorization token
这是不好的做法?什么是正确的方式去做这件事?我看到的优势是能够让演员的数据流由单个控制结构来处理,但当然,我认为这是一个优势,可能是错误的。
如果在演员内部有一个Future,并且该演员的状态需要在未来完成后更新,那么唯一安全的方法是将消息发送回自己,以便返回上下文的演员。在正确的情况下,这是一种有用的做法。 – cmbaxter 2014-11-05 18:50:50
所以你说这是这种情况的最佳做法?这很让人放心,谢谢! – JBarber 2014-11-05 19:38:45
修复idotic tagging'play framework'与'playback'无关 – biesior 2014-11-06 20:49:08