問題タブ [flow-control]

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

javascript - Node.js - 非ブロッキング呼び出しが確実に終了するようにする

pgデータベースと対話するために postgres ノード モジュールを使用しています。pgのイベント APIを使用すると、コードは問題なく動作します。以下はコードの例です。

Migration.js

commander.jsを使用して、この移行スクリプトに関するコマンド ライン ユーティリティを作成しています。ただし、スニペットのノンブロッキング呼び出しによりpg、データベースの更新が完了する前にコマンド ライン インターフェース スクリプトが解放されます。以下は、コマンダーのスニペットの例です。

MyCliTool

移行 (またはcommander.jsアプリ) スクリプトを変更up()して、cli スクリプトが終了する前に移行の機能が終了するようにする方法はありますか? コールバックを使用してみましたが、機能していないようです。

更新 この点を説明する別の例。mocha以下は、問題に関する単体テスト ( で記述) です。

アップテスト.js

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

node.js - nodeJS (express,connect) - 現在のフローにミドルウェアを動的に追加する

私は現在 formBuilder (クライアント javascript <=> JSON <=> ノード) に取り組んでいるので、サーバーで JSON データを処理する効果的な方法が必要です。すべてのフォームは 1 つのルートにバインドされ、ミドルウェアによってキャッチされるため、次のようなものが必要です。

コードは簡素化されています (正規表現、req バリデーターなどはありません ..)

最も簡単な方法は、使用されるミドルウェアのリストを準備し、それらを最終ルート witch async で呼び出すことです..しかし、私はこれを良い方法とは考えていません..

それで、要求されたミドルウェアを現在のフローに追加する方法はありますが、フィランルートの前ですか?

0 投票する
3 に答える
1143 参照

python - Python でのより簡単なフロー制御

次のコードでは、変数「new_shape」が「shape_list」内に既に存在するかどうかを確認しようとしています。まだ存在しない場合は、追加します。存在する場合は、残したいだけです。これまでのところ、フラグを使用してこれを達成しただけです。フラグなしで同じことをより効率的に達成する方法があると確信しています。助言がありますか?助けてくれてありがとう!

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

opengl-es - GLSLの静的フロー制御とは何ですか?

ImaginationのPowerVRドキュメントには、静的フロー制御があると書かれています。(7.9フローコントロール)

静的フロー制御とは何ですか?それはコンパイラプリプロセッサのような意味#if...#endifですか?そして彼らは言っている、

これはどういう意味ですか?1つのソースからシェーダーの多くのバリアントをインスタンス化できますか?

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

javascript - Googleクロージャライブラリで動作する制御フローライブラリはどれですか?

フロー制御に使用できる js ライブラリがいくつかあります。

ただし、クロージャーコンパイラーを使用する場合、私が見たものはまだ高度なモードのコンパイラーではうまく機能しません。

クロージャと互換性のあるフロー制御ライブラリはありますか? コードを必要以上に複雑にすることなく、複数の結果を待つことに主に関心があります。

アーカイブしたいのは、ユーザー アクションの読み込み時間を短縮することです。ユーザーの 1 つのアクションに対して、バックエンドに対して複数の要求を実行する必要があります。コードを維持しやすくするために、現時点では、一度に 1 つのリクエストを実行し、各ステップの後で潜在的なエラーを処理しています。

アーカイブしたいのは、必要以上にエラー処理を複雑にすることなく、依存しないリクエストをまとめて起動できることです。

フロー js の構文が好きです。

また、複数の非同期操作を生成して収集することもできます。ただし、コールバック間の状態が必要な場合、状態は上記の「this.password」のように保存されます。包含スコープが型指定されていないため、ADVANCED モードの場合、クロージャ コンパイラは (私の理解では) 一貫して名前を変更できません。

したがって、各関数を介してパラメーター (または this) としてプッシュされる型指定されたコンテナー オブジェクトを持つ代替が必要です。

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

python - シリアル接続でプリンターと通信するときのノイズ

私のソフトウェアがシリアル接続を介してレシート プリンターと通信しているときに、無意味でノイズの可能性があるメッセージが大量に表示されます。何が起こっているのかを特定するのを手伝ってくれる人はいますか? これに返信する必要がありますか?無視して進めてもいいですか?

構成情報:

私のコンピューター:

プリンター:

私のコンピューターは、プリンターを送信することから始まります

そして、コンピューターがプリンターを送信するという一定のループがあります

プリンターは次のように応答します

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

makefile - GNU Makeのifeq指令とif関数の違い

ifeqGNU Make のディレクティブとif関数の違いは何ですか? それぞれをいつ使用する必要がありますか?ifeqGNU Makeの「プリプロセッサ」によって解析されるため、それらは異なりますか?

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

c++ - boost asio で serial_port flow_control を none 以外に設定する方法

この細かいコード行を見つけました:

serial_port_base::flow_control FLOW( serial_port_base::flow_control::none );

ここで、flow_control をハードウェア フロー制御に設定する必要があります。これを行うにはどうすればよいですか?

これまでのところドキュメントはありません。ブレーク信号の送信に関する問題を解決するために Windows ヘッダーを使用しなければならなかったことは、すでに非常に悲しいことです。

少なくとも、Windows ヘッダーを使用せずにすべてのシリアル ポート オプションをセットアップする方法があることを教えてください。

Windowsヘッダーなしではどうしようもない場合は、ここでも汚い道をたどりますので、汚い例も投稿してください。

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

c++ - ブレーク信号を送信するこの試みの何が問題になっていますか?

wxTerm (または同様のターミナル アプリケーション) が行うように、デバイスにブレーク信号を送信するという、この一見簡単なタスクについて、私はかなり頭を悩ませています。

私のテストとデバイスの仕様によると、この信号の長さは 125 ミリ秒でなければなりません。

特定の応答が返されるはずですが、予想よりも長い応答が返され、送信された日付が間違っています。

例えば:

何に反応するべきか08 00 81 00 00 01 07 00

何に反応するか08 01 0A 0C 10 40 40 07 00 7F

本当にびっくりするのは、wxTerm を使用して (接続も送信もせずに) 利用可能な COM ポートを調べた後、コードが動作し始めたことです! その後、好きなだけ休憩を送信できます。それ以降は、すぐに応答が得られます。もう一度試すには、PC をリセットする必要があります。

ここで一体何が起こっているのですか?

ブレーク信号によるリセットのコードは次のとおりです。

編集:

wxTerm の COM ポートのコンボ ボックスの選択を確認するだけで済みました。コードを機能させるためにアクティブな接続を確立する必要はありませんでした。

wxTermがシリアルポートコンボボックスのリストを作成しているときに、ある種の初期化が欠落していると推測しています。

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

c++ - ハードウェア フロー制御に boost::asio::serial_port サポートを使用するにはどうすればよいですか?

Boost の asio::serial_port ライブラリを使用して、仮想シリアル ポート (FTDI チップ) と通信しています。ハードウェア フロー制御 (RTS/CTS) を使用したいのですが、Boost での使用方法に関するドキュメントがあまり見つかりません。私が持っているコードは次のとおりです。

この行があると、プログラムは実行されません。それは言います:

...flow_control::hardware...flow_control::softwareまたはに変更すると...flow_control::none、シリアル ポートは正常に動作します (ただし、明らかにハードウェア フロー制御はありません)。これに関するドキュメントを探すのにかなりの時間を費やしましたが、何も見つかりませんでした。Boostでフロー制御を使用する方法を知っている人はいますか、またはこれが文書化されている場所を知っていますか? Mac OS 10.8.2 で Fink の Boost を使用しています。ありがとう!