問題タブ [fs2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - 無限ストリームでエラーをスキップする
fs2.Stream
エラーが発生する可能性のある無限があります。何もせずにこれらのエラーをスキップし (おそらくログに記録)、さらに要素をストリーミングし続けたいと思います。例:
この特定のケースでは、毎秒無限fs2.Stream
に放出したいと考えています。Left(new RuntimeException)
Stream.attempt
最初のエラーが発生した後に終了したストリームを生成するメソッドがあります。エラーをスキップしてさらに要素を引き続ける方法はありますか?
これIO.raiseError(new RuntimeException).attempt
は、ストリーム パイプライン構成のすべての場所ですべての効果を試す必要があるため、一般的には機能しません。
scala - 空の fs2.Stream をマージするとプログラムの動作が変わるのはなぜですか
空とのマージがfs2.Stream
同じを生成する必要があることは十分に文書化されていfs2.Stream
ます。Scaladocsからの引用は次のとおりです。
という性質を持っています
merge(Stream.empty, s) == s
を使用した次の完全な Scala プログラムを考えてみましょうfs2.Stream
。
放出要素
プログラムは次のように出力します。
そしてそれは大丈夫に見えます。Scaladoc
上記の引用を適用すると、
と
動作は同じである必要があります。更新されたプログラムは次のとおりです。
要素の発行と空の fs2.Stream とのマージ
プログラムの出力は
質問:空fs2.Stream
の変更をマージすると、プログラムの動作が変更され、元の要素が複製されるのはなぜfs2.Stream
ですか?
scala - fs2ストリームを非同期に中断する方法は?
SignalRef で fs2 ストリームを中断しようとしています。次のようにストリームをセットアップして実行します。ストリームは、含まれているときに実行され、switch
含まれているfalse
ときに中断する必要がありswitch
ますtrue
次に、ストリームを中断しようとします
しかし、流れは続きます。標準出力で私が見る
どうやらスイッチが true に変わっていないのでしょうか?