ホームページ >ウェブフロントエンド >jsチュートリアル >Node.js で非同期コールバック完了を処理する方法は?
Node.js で非同期コールバックを処理する場合、プラットフォームの基本的にノンブロッキングの性質を理解することが重要です。 。この記事では、一般的な課題、つまりコールバックの完了を関数に待機させる方法について説明します。
次の単純化された関数を考えてみましょう:
<code class="js">function(query) { myApi.exec('SomeCommand', function(response) { return response; }); }</code>
目標は、myApi.exec を呼び出して、コールバックで受け取った応答を返します。ただし、このコードはすぐに返され、無効になります。
Node.js のイベント駆動型アーキテクチャでは、非同期コールバックを処理する「適切な」方法は 待つ必要はありません。代わりに、関数は操作の完了時に呼び出されるコールバック パラメーターを受け入れる必要があります。呼び出し元は従来の「戻り」値を期待するのではなく、結果を処理するためのコールバックを提供する必要があります。
<code class="js">function(query, callback) { myApi.exec('SomeCommand', function(response) { // additional processing... callback(response); // This "returns" the value to the caller }); }</code>使用法:
<code class="js">myFunction(query, function(returnValue) { // Use the return value here });</code>このアプローチでは、関数はブロックしません。これにより、イベント ループが他のタスクの処理を継続できるようになります。コールバックが呼び出されると、提供された関数は結果を非同期に処理します。
以上がNode.js で非同期コールバック完了を処理する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。