我正在尝试使用Scala调度但是既是Scala neewbie又是Dispatch api符号疯狂的面孔我很困惑我如何流式传输大型http响应并逐行处理它。任何帮助将不胜感激。
干杯,克里斯。
注意:
这对我不起作用:
Http(url(Config.publisherUrl) > as.stream.Lines(line => println(line)))
永不打印线条。
正在打印这些行,但只有当响应中有多行时才会打印。问题似乎是我可以逐行传输数据,但最后一行被省略。
答案 0 :(得分:0)
我有同样的问题。你能做什么。我将其读取为输入流,然后将其转换为Akka流并返回了源。
import akka.stream.scaladsl.{Source, StreamConverters}
val futureStream = Http(url(urlString) > as.Response(_.getResponseBodyAsStream))
futureStream.map { inputStream =>
val source = () => inputStream
StreamConverters.fromInputStream(source)
}
对我有用。