問題タブ [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.

0 投票する
1 に答える
673 参照

scala - 無限ストリームでエラーをスキップする

fs2.Streamエラーが発生する可能性のある無限があります。何もせずにこれらのエラーをスキップし (おそらくログに記録)、さらに要素をストリーミングし続けたいと思います。例:

この特定のケースでは、毎秒無限fs2.Streamに放出したいと考えています。Left(new RuntimeException)

Stream.attempt最初のエラーが発生した後に終了したストリームを生成するメソッドがあります。エラーをスキップしてさらに要素を引き続ける方法はありますか?

これIO.raiseError(new RuntimeException).attemptは、ストリーム パイプライン構成のすべての場所ですべての効果を試す必要があるため、一般的には機能しません。

0 投票する
2 に答える
671 参照

scala - 空の fs2.Stream をマージするとプログラムの動作が変わるのはなぜですか

空とのマージがfs2.Stream同じを生成する必要があることは十分に文書化されていfs2.Streamます。Scaladocsからの引用は次のとおりです。

という性質を持っていますmerge(Stream.empty, s) == s

を使用した次の完全な Scala プログラムを考えてみましょうfs2.Stream

放出要素

プログラムは次のように出力します。

そしてそれは大丈夫に見えます。Scaladoc上記の引用を適用すると、

動作は同じである必要があります。更新されたプログラムは次のとおりです。

要素の発行と空の fs2.Stream とのマージ

プログラムの出力は

質問:fs2.Streamの変更をマージすると、プログラムの動作が変更され、元の要素が複製されるのはなぜfs2.Streamですか?

0 投票する
2 に答える
723 参照

scala - fs2ストリームを非同期に中断する方法は?

SignalRef で fs2 ストリームを中断しようとしています。次のようにストリームをセットアップして実行します。ストリームは、含まれているときに実行され、switch含まれているfalseときに中断する必要がありswitchますtrue

次に、ストリームを中断しようとします

しかし、流れは続きます。標準出力で私が見る

どうやらスイッチが true に変わっていないのでしょうか?