問題タブ [node-fibers]

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

javascript - サーバーでCollection.insertを呼び出す場合、「Meteorコードは常にファイバー内で実行する必要があります」

server/statusboard.jsに次のコードがあります。

基本的には、JSONフィードからデータを取得し、それをコレクションにプッシュしようとします。

Meteorを起動すると、次の例外が発生します。

そのエラーが何を意味するのかよくわかりません。誰かが何かアイデアを持っていますか、または別のアプローチを提案できますか?

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

javascript - ノードのファイバーがブロックしていませんか?

node-fibersを使用して、非同期データベース操作など、Node.js で I/O 集中型タスクを実行すると、ブロックされますか?

私はまだ node-fibers を使用していません。b/c のようです -- 通常は非ブロッキングの長い I/O コードが実行される HTTP リクエストを処理するコードで使用すると、他のリクエストがアプリにアクセスします。これは本当ですか?true/false である理由についての詳細も非常に役立ちます。

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

windows - node.js でファイバーをインストール中にモジュール build.js が見つからない

私はNodeに非常に慣れていないので、それを試して使い始めるという私の決定は、Meteor Frameworkです。最初にOSXにインストールしましたが、すべて正常に動作します。しかし、Windows を使用している別のマシンで動作するようにしたいと考えています。

私は、Node と Meteor を適切にインストールするように見える MSI パッケージを使用しています。それらは "D:" にある私の %HOMEDRIVE% にインストールされ (関係ないと思いますが、誰にもわかりません...)、すべてが D:\Meteor にあります。

新しいアプリを作成し、開始しましたが、エラーが発生しました...その後、問題はファイバーにあり、通常はnpmでアンインストールしてnpmで再度インストールすると、機能することがわかりました。さて、これが私の問題です。インストールがまったく機能しません。したがって、ファイバーをインストールしようとすると、次のようになります。

別のパッケージをインストールしてみましたが、動作します。私はファイバーでこの問題だけを抱えています。どうすればこれをデバッグできますか? どこを見ればいいのかわかりません(module.jsを見つけることさえできませんでした...)。どうもありがとう!

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

node.js - pg/postgresを使用したnode.jsファイバー

node.jsでノードファイバーを使用してデータベースコードの煩雑さを軽減する方法を模索してきましたが、機能させることができません。最小限のテストケースとして、コードをこれに要約しました。

そのままにしておくと、次のエラーが発生します。

ただし、pconnectを呼び出す行をコメントアウトすると、コンソールに「呼び出された関数」メッセージが表示され、エラーは発生しません。githubページの例はほぼ同じ構造であり、私のシステムでは正しく機能しますが、ここで間違っていることに困惑しています。

編集:追加の詳細

私は、無関係に見える2つの異なる方法で、流行の後にコードを実行することに成功しましたが、どちらも同じ動作をします。関数が終了した後、ノードがハングするだけで、ctrl-cを使用してノードを強制終了する必要があります。その結果を得るために私が行った2つのことは次のとおりです。

1)pg.connectを無名関数でラップし、それをFutureでラップします。

2)これは本当の謎ですが、同じ結果になるようです。ファイバー内では、pconnectを呼び出す前に直接pg.connectを呼び出すだけで、すべてがうまくいくようです。

たとえば、pg.connect関数に、Future.wrap呼び出しの予想されるレイアウトを何らかの形で妨害する他のオプションの引数がある場合、(1)が意味をなす状況を想像できます。もう1つの可能性は、オブジェクトがスコープ外になり、pconnectへの実際の呼び出しが行われたときに「this」参照が定義されていないことです。しかし、なぜ(2)が効果があるのか​​理解できません。

編集:部分的な答え

さて、私は質問の少なくとも一部に答えました。オブジェクトスコープについての私が持っていた考えは正しいことが判明し、bind()関数を使用することで、コールバックラッピングの余分なレイヤーを排除することができました。

ただし、不明な理由により、実行の最後にハングします。

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

node.js - なぜ meteor.js は同期的なのですか?

同期することでコードの効率が低下することはありませんか? 同期コーディングが有利な理由 調査中に次の 2 つのリンクを見つけました: http://bjouhier.wordpress.com/2012/03/11/fibers-and-threads-in-node-js-what-for/https://github.com /Sage/streamlinejs/

目的がスパゲッティ コードを防ぐことである場合、たとえば streamline.js を使用して、コールバック ピラミッドではない非同期コードを使用できることは明らかですよね?

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

node.js - nodejsファイバーが機能しない

は関数にresult入力されexecますが、メインスレッドに戻ることはありません...何が間違っていますか?

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

javascript - 複数の引数を持つノードファイバー/将来のコールバック

先物は、複数の引数を持つコールバックをどのように処理しますか?これは、私が将来のために持つ可能性のあるほぼすべての用途にとって重要です。githubの例は、1つの引数のみを処理することを示しています。

GithubReadmeの例は次のとおりです。

しかし、mysqlが呼び出すようなものはどうですか?

先物メソッドを使用して、これら3つ( err、、、resultsおよび)を取得するにはどうすればよいですか?fieldswait()

編集

実験により、コールバックの最初の引数(この場合err)は常にエラーとして扱われ、値が真の場合にスローされることがわかりました。2番目の引数が割り当てられます。それ以上の引数は、私が知る限り無視されます。

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

imagemagick - meteorjs の imagemagick (meteor-router とファイバーの助けを借りて)

meteorjs で imagemagick を使用できません。私は、変換された画像を提供する残りの API を含む小さな svg->png コンバーターに取り組んでいます。meteor-router を使用して残りの API を実装しました。imagemagick 変換が機能します。しかし、変換結果をhttpレスポンスに書き込めません。ファイバーを使用して非同期性を取り除くことで、これを修正しようとしました。しかし、これはまだ機能しません。基本的に、すべての request.write 呼び出しは、yield 実行後に無視されます。これが私のコードです:

私はmeteorjsにかなり慣れていません。したがって、ファイバーを完全に間違って使用する可能性があります。または、繊維をまったく使用しないでください。誰か助けてくれませんか?

0 投票する
4 に答える
1953 参照

javascript - JavaScript でのファイバーのクライアント側実装。

AFAIK meteorjs はnode- fibers を使用していますが、その github ページには、サーバー側と v8 のみであると記載されています (または、そうではありませんか?)。

  1. meteorjs は、クライアント側で API の ような非ブロッキングの同期をどのように実装しますか?

  2. chrome以外のブラウザには対応していますか?

誰かがファイバーの純粋なJS実装を教えてくれたり、それらがどのように機能するかを説明したりできれば、とても感謝しています(独自のイベントループはありますか?)。

クライアント側のファイバー実装を機能させる github プロジェクトへのリンクも歓迎します。

やっぱりXMASです:)

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

javascript - Node.js ファイバーを使用してコードを実行する方法

Nodejsファイバーについて質問があります(これは私にとってまったく新しいものです)... Nodejsファイバーに関するこのチュートリアルがありますhttp://bjouhier.wordpress.com/2012/03/11/fibers-and-threads-in- node-js-what-for/、ここに例がありました

この例に基づいて、次のようなコードの独自のバージョンを作成しました。

しかし、これは私にエラーを与えます、

そして、コールバックを内部にして1000ミリ秒後に関数を実行する別のケースがあります(コールバックの前に長時間実行する関数をテストするためにこれを行いました)、

ここのこのコードは私に別のエラーを与えます、

では、run() 関数が実行された後、yield() は待機する必要がありますか? 私のnodejsコードで何が起こっているかについて何か考えはありますか? そして、前もって感謝します...