問題タブ [cats-effect]

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

scala - WebSocket エンドポイントでの「Spawn」同時効果

次のコードがあります。

createService新しいサービスを作成する機能です。新しいサービスの作成は非常に複雑なプロセスです。CI パイプラインをトリガーし、それらが終了するのを待ってから、同じ方法でさらに CI パイプラインをトリガーする必要があります。受信したキューは、実行中の現在の操作をブラウザに報告するために使用されます。

createService を同時に「生成」し、終了するまで実行させたいと考えています。ただし、同時に WebSocket をクライアントにすぐに返したいと考えています。別名、createService を「生成」している間はブロックできません。

私は立ち往生しています。使用することしか考えられませんshiftが、それは for 内包表記の次の行がブロックされ、終了するのを待ってcreateServiceから Websocket をクライアントに返すことを意味します。

私のアプローチは間違っていますか?私は何を間違っていますか?

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

scala - IOモナドで猫の理解のために書く方法

次のコードがあります。


これは完全に正確ではありませんが、問題を説明するためにブロック全体を投稿しました。
ここでは、IO を生成してそれを StateT に変換するために、値に対して多くの変換を行っています。これを行うより賢い方法はありますか?たぶん、ioタスクをメインアルゴリズムから、つまりこのfor-comprehensionから分離する必要がありますか? それともこうすればいいの?

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

fs2 - http4s 早期 EOF を受信しました

別のサービスからコンテンツを受信し、処理して応答を返すhttp4sサーバーを実装したいと考えています。

元のサービスはリダイレクトを使用するため、Follow リダイレクトミドルウェアを追加しました。生成されたログを確認するために、Logger ミドルウェアも追加しました。

サービスの骨組みは次のとおりです。

次のようにcurlを使用してサービスにアクセスしようとすると:

応答には元のコンテンツの最初の部分が含まれ、次のように終了します。

ログを見ると、次の行が含まれています。

これは、時期尚早の EOF を受信するときにエラーが発生したことを示しています。

私はこの問題で可能な答えを見つけました:しかし、答えは、tohttpService.

ストリームを使用してコードを書き直す必要があると思いますが、より慣用的な方法はわかりません。いくつかの提案?