Node.js は、イベント駆動型のノンブロッキング I/O に基づくサーバーサイド JavaScript ランタイム環境です。 Node.js には、同時性の高い大規模なリアルタイム Web アプリケーションを処理する場合に多くの利点があります。ただし、コードを作成するときに、実行中のコードを中断する必要がある場合があります。この場合はどうすればよいでしょうか?
Node.js では、次のメソッドを使用してコードの実行を中断できます。
JavaScript では、 throw ステートメントを使用します。例外をスローするステートメント。 Node.js では、例外がスローされるとすべての非同期操作が中止されます。これは、Node.js のすべての非同期関数がコールバック ベースであり、例外がスローされるとエラー コールバック関数がトリガーされ、プログラムの実行が終了するためです。
次はサンプル コードです:
try { // do something throw new Error('Custom error message'); } catch (err) { console.error(err); }
上記のコードでは、try-catch を使用して、例外をスローする可能性のあるコード ブロックをラップします。例外がスローされると、catch コード ブロックがが入力され、例外情報が出力されます。
process.exit() メソッドを使用すると、現在の Node.js プロセスの実行を即座に終了できます。このメソッドが呼び出されると、Node.js プロセスはただちに終了し、指定された終了コードを返します。終了コードが指定されていない場合、デフォルトは 0 になります。
以下はサンプルコードです:
process.exit(1); // 1 为退出码
process.kill()メソッドを使用できます。現在の Node.js プロセスを終了するシグナルを送信します。このメソッドは、終了するプロセスのプロセス ID、および送信されるシグナルの名前または番号という 2 つのパラメーターを受け入れます。デフォルトのシグナルは SIGTERM ですが、他のシグナル (SIGHUP、SIGINT、SIGQUIT、SIGKILL など) も使用できます。
以下はサンプル コードです。
process.kill(process.pid, 'SIGTERM');
setTimeout() メソッドを使用できます。関数を呼び出す。指定した時間内に関数呼び出しをキャンセルする必要がある場合は、clearTimeout() メソッドを使用できます。このメソッドは、タイマー識別子をパラメータとして受け取り、setTimeout() メソッドで作成されたタイマーをキャンセルします。
以下はサンプル コードです:
const timeoutId = setTimeout(() => { console.log('Function will be executed after 10 seconds'); }, 10000); // 10 秒后执行 clearTimeout(timeoutId); // 取消定时器
上記は、Node.js でコードの実行を中断するいくつかの方法です。実際の開発では、状況に応じて適切な方法を選択することで、より効率的にコードの実行を終了できます。
以上がNodejsでコードを中断する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。