3

私は Scala ディスパッチを使用しようとしていますが、Scala 初心者であり、Dispatch API がシンボル クレイジーであるという顔をしていました。大きな http 応答をストリーミングして行ごとに処理する方法について混乱しています。どんな助けでも大歓迎です。

乾杯、クリス。

ノート:

これは私にとってはうまくいきません:

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

行は決して印刷されません。

編集:

行が出力されていましたが、応答に複数の行があった場合のみでした。問題は、データを 1 行ずつストリーミングできることですが、最後の行が省略されているようです。

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 に答える