Node.js では、イベント駆動型プログラミングの非同期の性質により、コールバックを待機するときに別のアプローチが必要になります。この記事では、同期ブロック手法を採用する代わりに、指定された時間まで関数を一時停止させるための効率的な代替手段を検討します。
従来のブロック関数とは異なり、非同期を開始する Node.js 関数は操作は完了時に、応答を待たずにただちにコールバックを呼び出します。これを例に挙げると、
<code class="javascript">function(query) { myApi.exec('SomeCommand', function(response) { return response; }); }</code>
コールバックがまだ呼び出されずに関数がすぐに返されるため、このコードではエラーが発生する可能性があります。関数の実行フローは継続し、コールバック応答にアクセスできなくなります。
Node.js で推奨される解決策は、コールバック ベースのアプローチを採用することです。関数は、実行をブロックするのではなく、操作の完了時に呼び出されるコールバック パラメーターを受け入れる必要があります。
<code class="javascript">function(query, callback) { myApi.exec('SomeCommand', function(response) { callback(response); }); }</code>
これで、関数の実行フローはコールバック応答を待機しません。代わりに、すぐにコールバックが呼び出され、呼び出し元が処理できるようになります。
変更された関数では、従来の戻り値に依存する代わりに、呼び出し元がコールバックを提供する必要があります。応答を受け取る関数:
<code class="javascript">myFunction(query, function(returnValue) { // Process the return value here });</code>
このコールバック ベースのアプローチを採用すると、目的のコールバックが呼び出されるまで関数を効果的に一時停止でき、Node.js アプリケーションが非同期で効率的な設計を維持できるようになります。哲学。
以上がコールバックが実行されるまで Node.js 関数を一時停止する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。