Node.jsのアプローチはイベント駆動型であり、イベントをいつ発生させるかという問題にどのように取り組むのでしょうか。
Webアプリケーションに対して、データの作成、ページの提供、データの受信などのアクションがあるとします。
これらのイベントをどのようにレイアウトしますか?ねじ山システムでは、設計はかなり「単純」です。スレッドを特定のタスクセット専用にし、スレッド同期の道を進みます。これらのタスクがオンデマンドで低い間、スレッドはアイドル状態になり、何もしません。必要なときにコードを実行します。この道路には問題がありますが、十分に文書化されており、ある程度解決されています。
node.jsイベントのやり方に頭を悩ませるのは難しいと思います。10件のリクエストがありますが、データを作成していないため、何も提供できません。データの作成は長いアクションであり、別の5人のクライアントがデータを送信したいと考えています。今何?
私は次のテストされていないコードを作成しました。これは基本的に、登録されて実行されるコールバックの山です。実行して、今実行するコードを決定する、ある種のパイルマネージャーがあります。そのコールバックによって作成されたすべてのコールバックは、「自然に」偶数ループに追加できます。また、イベントループが制御を戻すことができるように、自己を登録する必要があります。静的コンテンツのような他のものや、これまでとは異なる方法でバインドできるもの。
- 現在のイベントループ状態の最後の呼び出しになるようにコールバックを登録するにはどうすればよいですか?
- これはこの問題を解決するための良い方法ですか?