ran*_*its 3 scala websocket playframework playframework-2.2
似乎无法找到任何关于此的文档,但是在操作中使用WebSocket.async作为其返回类型以及其他使用WebSocket.using [String]的示例.
是否有何时使用哪些文件?据我所知,Websocket.using [String]表示进出此操作的消息类型是String类型.那么使用WebSocket.async有什么区别呢?主要关注的是何时使用哪个以及为什么.
看看他们各自的签名:
def using[A](f: RequestHeader => (Iteratee[A, _], Enumerator[A]))(implicit frameFormatter: FrameFormatter[A]): WebSocket[A]
def async[A](f: RequestHeader => Future[(Iteratee[A, _], Enumerator[A])])(implicit frameFormatter: FrameFormatter[A]): WebSocket[A]
Run Code Online (Sandbox Code Playgroud)
有点太多了,让我们删除返回类型和隐式参数列表,因为它们是相同的:
def using[A](f: RequestHeader => (Iteratee[A, _], Enumerator[A]))
def async[A](f: RequestHeader => Future[(Iteratee[A, _], Enumerator[A])])
Run Code Online (Sandbox Code Playgroud)
差异现在更容易发现.async
返回a 接受的回调Future
,而using
你不能.async
当您使用异步库时非常有用,例如Akka,其中向某个actor发送消息会产生一个Future
.using
应该与同步库一起使用.我希望这是有道理的.
归档时间: |
|
查看次数: |
498 次 |
最近记录: |