問題タブ [highland.js]

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 投票する
2 に答える
1613 参照

mongoose - Highland.js のストリームに対する非同期変換

Mongooseモデルのセットでデータベース更新スクリプトにHighland.jsを使用しようとしてます。同期的に行うべきことがいくつかあり (新しいスキーマに準拠するようにモデルを更新し、いくつかのクリーンアップ操作を行います)、最後にドキュメントを作成します。実行する必要があるいくつかの事前保存フックが構成されていますが、更新はストレート と実際には互換性がありません。Q.jsと Highlandを組み合わせることで、何とか機能させることができました。Model.find()save()Model.update()

ただし、これは約束を解決していないようであり、これが物事をうまくストリーム-y に保つための「正しい」方法であるかどうかはわかりません... Q.js と Highland.js を組み合わせるのも奇妙に思えます。親密に。より良い方法はありますか?

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

node.js - Highland.js でのネストされたストリーム操作

readdirpモジュールからのディレクトリのストリームがあります。

したい:-

  • README.*各ディレクトリで正規表現 (例: ) を使用してファイルを検索します
  • で始まらないそのファイルの最初の行を読み取ります#
  • 各ディレクトリと、ディレクトリ内の README のこの見出し以外の最初の行を出力します。

ストリームとhighland.jsを使用してこれを実行しようとしています。

各ディレクトリ内のすべてのファイルのストリームを処理しようとして立ち往生しています。

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

node.js - highland.js イベント ハンドラーが期待どおりに起動しない

応答をストリーミングする要求ライブラリを使用しようとしています。次のコードは期待どおりに機能します。

ただし、highland.js で同じことをしようとすると、イベント ハンドラーが起動されません。

ここで見逃している非常に些細なことはありますか?

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

javascript - Highland.js のコンテキスト

私は Highland.js とリアクティブ プログラミングのスタイル全般が大好きです。私はコンテキストの喪失に苦しんでおり、状態を放棄することが目標であるモデルでコンテキストをエレガントに処理する方法を決定しようとしています。

例として、Amazon Web Services に自分のアカウントの配列があります。

私の目標は、基本的に、リージョンで実行されているすべての EC2 インスタンスのスプレッドシートを作成することです。このようなもの。

一般的なワークフローは次のようになります。

  1. 各アカウントを通過する
  2. ec2DescribeInstaces を呼び出す
  3. どういうわけか、各 ec2DescribeInstances コールを最終出力のアカウント名にマップします

通常の JavaScript では、ここでループを行うため、ec2DescribeInstances を呼び出すたびにコンテキストが存在します。

リアクティブプログラミングで私が理解していることから、私はこのようなことをします

任意のガイダンス??? このチェーンの最後に、Amazon からのインスタンスがあります。しかし、それらをアカウントに関連付けて名前を取得する方法がわかりません。これをハックして値を取得できることはわかっていますが、ベストプラクティスとエレガントなものを探しています。

@Bergi、以下のように??? これは、必要なデータと Amazon から返されたデータの両方を含む「コンテキスト」オブジェクトを返すことが不可欠です。これに関する私の唯一の懸念は、チェーン全体でコンテキストを渡すと、呼び出しのために多くのデータの抜き取り、詰め込み、およびラッピングを行うことになるということです。

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

node.js - CSV 解析用の Highland.js

私は非常に機能的な方法を書こうとしています。ストリーム処理の管理には Highland.js を使用していますが、私は初心者なので、この特殊な状況にどう対処すればよいか、かなり混乱していると思います。

ここでの問題は、ファイル ストリーム内のすべてのデータが一貫していないことです。通常、ファイルの最初の行はヘッダーです。これをメモリに保存し、後でストリーム内のすべての行を圧縮します。

これが私の最初の試みです:

パイプラインの最初のコマンドは、ファイルを行ごとに分割することです。次はヘッダーを取得し、doto はそれをグローバル変数として宣言します。問題は、ストリーム内の次の数行が存在しないため、プロセスがブロックされていることです...おそらく、その上に head() コマンドがあるためです。

他のいくつかのバリエーションを試しましたが、この例は、どこに行く必要があるかの感覚を与えてくれると思います.

これに関するガイダンスは役に立ちます。また、各行に異なる値がある場合、可変長/複雑さのさまざまなストリーム操作の中でプロセスストリームを分割するにはどうすればよいかという問題も生じます。

ありがとう。

編集:私はより良い結果を生み出しましたが、その効率に疑問を抱いています.これを最適化する方法はありますか? これはまだずさんな感じです。

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

javascript - Highland.js を使用した非同期マップ

サーバーから定期的にデータを取得する Highland ストリームがあります。マップ内でデータベース検索を行う必要があります。Highland のトランスフォーマーで非同期処理を行っているという言及は見つかりません。

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

node.js - Highland.js の reduce の結果を出力します

行をカウントする簡単なスクリプトを作成しました

しかし、何らかの理由で、コンソールに何も表示されません。ドキュメンテーションは怠惰について述べていますが、each呼び出しはストリームを「呼び出す」必要があります。問題を解決するには?

注意:これは highland.js に関する質問であり、行数を数える方法に関する質問ではありません

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

reactive-programming - FRPによるダイナミックパイピング

問題を考えてみましょう:

  • ファイルを行ごとに分割する
  • 行を結果ファイルに書き込みます
  • 結果ファイルがあるサイズを超えた場合、新しい結果ファイルを作成します

たとえば、重量が 4 GB で分割サイズが 1 GB のファイルがあるとします。その結果、1 GB の 4 つのファイルが作成されます。

Rx*/Bacon や他の同様のライブラリを任意の言語で使用したソリューションを探しています。