3

我正在尝试使用 Scala 调度,但既是 Scala 新手,又是 Dispatch api 符号疯狂的面孔我对如何流式传输大型 http 响应并逐行处理它感到困惑。任何帮助,将不胜感激。

干杯,克里斯。

笔记:

这对我不起作用:

Http(url(Config.publisherUrl) > as.stream.Lines(line => println(line)))

这些行从不打印。

编辑:

正在打印这些行,但仅当响应中有不止一行时。问题似乎是我可以逐行传输数据,但最后一行被省略了。

4

1 回答 1

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)
        }

它对我有用。

于 2019-08-05T06:53:19.770 回答