nodejsはネットワーク要求にスレッドを使用しません。これは、オペレーティングシステムに組み込まれているネットワークの非同期サポートを使用します。したがって、nodejsの保留中のネットワーク要求は、要求ごとに開かれたスレッドを維持しません。それはオープンソケットを持っています。 nodejsプロセスは、そのソケットに保留中のデータがある場合に通知を受けます。
同様に、約束によってスレッドが開かれることはありません。約束は、非同期操作が終了し、約束が.then()
ハンドラを登録したコードに通知することができるときに、基になる非同期操作が解決または拒否する通知スキームです。
あなたが提供したリンクでは、どのコードを参照しているのかがはっきりしていません。特定のコードについて質問したい場合は、そのコードを直接質問に貼り付けて、外部リンクにしか存在しないことを尋ねているコードに関するスタックオーバーフローのガイドラインに従ってください。
2行目のプロセス全体が非同期モードです。サーバー側にスレッドがぶら下がり、ブラウザはnode.jsが有効なRESTサービスが応答を返すのを待っていますか?
"セカンドライン"とはどういう意味ですか?あなたが提供したリンクにはたくさんのコードがあります。 nodejの内部のネットワーク要求は、要求ごとにスレッドを使用しません。彼らは開いているTCPソケットを保持しますが、ネイティブスレッドではなく、ソケットにOSの基本的な非同期通知サポートを使用します。
そうでない場合、ブラウザまたはPOSTMANなどのRESTクライアントは、リアルタイムで応答をどのように知るようになりますか。
POSTMANまたはRESTクライアントは、(そのTCP接続でHTTPプロトコルを使用して)サーバーにTCP接続しています。彼らは、TCP接続を作成し、そのソケットでHTTP要求を送信し、そのソケットは応答を待つ間開いたままです。サーバーはビジネスを終了すると、開いているTCPソケットを介して応答を返します。クライアント側のコードを書くことができる方法はたくさんありますが(POSTMANとブラウザはクライアントコードを異なる方法で書く可能性があります)、データがTCPソケットに到着すると、クライアントには何らかの形でデータがあることが通知されます。クライアントはそのデータを読み込み、応答を処理します。そして、これはHTTP要求/応答プロトコルであるため、TCP接続はおそらく閉じられます。
「サーバー側にスレッドがぶら下がっていますか」 - どうしてですか?あなたが言ったように、それは約束を使用します。 – Quentin
"ブラウザーはnode.jsが有効なRESTサービスが応答を返すのを待っています" - HTTPクライアント*は常に応答を待つ必要があります。ネットワークには時間がかかります。ここには何も特別なものはありません。 – Quentin
応答を待たなければならない場合は、サーバー側でもスレッドが開かれます。さもなければあなたはどのように応答を返すでしょうか? – user3276247