在播放WS库中,我正在使用此调用来处理流式http响应:
def get[A](consumer: ResponseHeaders => Iteratee[Array[Byte], A]):
Future[Iteratee[Array[Byte], A]]
我传递的内容如下:_ => (Iteratee.foreach(chunk => println(chunk)))
一切正常,但在某些时候连接似乎已经关闭,我不知道如何处理这个问题。当Iteratee完成时,我尝试添加.mapDone
来打印出一些东西,但它永远不会发生。
在此get请求中,如何检测连接已关闭并处理该事件?
答案 0 :(得分:0)
似乎不再是Play 2.2.3中的问题了。当流关闭时,应使用map
调用传递给Unit
的函数,如下所示:
val connection = WS.url("http://example.com")
.get(_ => iteratee).flatMap(_.run) map { _ => println("closed") }