3

在 play WS 库中,我使用此调用来处理流式 http 响应:

 def get[A](consumer: ResponseHeaders => Iteratee[Array[Byte], A]):
     Future[Iteratee[Array[Byte], A]]

我正在传递类似的东西:_ => (Iteratee.foreach(chunk => println(chunk)))

一切正常,但在某些时候连接似乎关闭了,我不知道如何处理。.mapDone当 Iteratee 完成时,我尝试添加以打印出一些东西,但它从未发生过。

在此获取请求中,我如何检测到连接已关闭并处理该事件?

4

1 回答 1

0

看来这不再是 Play 2.2.3 中的问题了。当流关闭时,map应调用传递给如下定义的函数:Unit

val connection = WS.url("http://example.com")
  .get(_ => iteratee).flatMap(_.run) map { _ => println("closed") }
于 2014-06-02T14:14:18.593 回答