問題タブ [co]

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

javascript - ジェネレータアロー関数を使用した co.wrap を使用したモカ

私は既存のテストを受けました:

ジェネレーター関数で矢印構文を使用しようとすると、ランタイムが文句を言います

ウェブストーム 11

0 投票する
0 に答える
979 参照

node.js - nodejs koa co-busboy を使用したファイルのアップロード

KOA を使用してファイルをアップロードするときに、 co-busyboyを使用してファイル フィールドを解析します。公式の例は次のようになります。

何らかの理由で、すべての「部分」ストリームを配列に保存し、すべてのファイル ストリームがフェッチされたときに実際のファイル書き込みを実行したいと考えています。すなわち:

問題は、whileループが継続しないことです。part.pipeを呼ばないとループが止まってしまうようです。

では、while ループを継続させるにはどうすればよいでしょうか。

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

javascript - ES6 クラスとジェネレーター関数を使用するときに「self = this」ハックを使用しないようにするにはどうすればよいですか?

明示的な .bind(this) を使用しようとしましたが、うまくいきませんでした。また、ここではアロー関数が機能しないことも知っています。

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

javascript - promise を使用してデータベース操作を待機する

データベースに接続して値を取得する別の関数を呼び出す関数があります。その値はデータベース上の別のトランザクションに使用されるため、実行が完了するまで先に進むことはできません。

yieldそのメソッドの完了を判断promiseし、応答を解決または拒否するために使用しています。これが私がやっている方法です:

このエラーが発生しています:

編集

接続文字列:

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

javascript - ジェネレーターへのコールバックとyieldを使用して、規則node.js関数を変換する

私は koa.js が初めてで、とても気に入り、プロジェクトを開始しました。SMS送信にtwilioを使用する必要があります。

twilio パッケージのほとんどの呼び出しは、この構造に従います。

ジェネレーター関数内に配置するように変更するにはどうすればよいですか?どの時点でyieldキーワードを使用しますか?

Coライブラリの使用を提案する回答があれば、コードとビットの説明を添えて例を提供してください。

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

node.js - 「co」を使用してコールバックをラップして非同期にする適切な方法は?

それは 2016 年のことで、Node は v4 から ES6 をほぼ完全にサポートしており、Promises は 0.12 から存在しています。コールバックをほこりの IMO に残す時が来ました。

私は、多くの非同期操作 (http 要求とユーザー入力) を活用するcommander.jsベースの CLI util に取り組んでいます。Commanderactionを async 関数でラップして、プロミスとして扱うことができるようにし、ジェネレーターをサポートしたいと考えています (co-promptユーザー入力に使用しているライブラリに役立ちます)。

CB をco次の 2 つの方法でラップしてみました。

1) program.command('myCmd') .action(program => co(function* (program) {...}) .catch(err => console.log(err.stack)) );

2)program.command('myCmd').action(co.wrap(function* (program) { .. }));

1) の問題は、programパラメーターが渡されないことです

2)の問題は、エラーが飲み込まれることです...

多くの http リクエストを含み、ライブラリを使用してユーザー入力を待機している私のユースケースでは、より優れたコードが生成されるため、これを機能させたいと思っていco-promptます..

program.Command.prototype.actionおそらく何らかの形でラップする方が良い選択肢ですか?

ありがとう!