この記事では、Nodejs のコールバック コールバックについて紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。
推奨される学習: 「nodejs チュートリアル」
callback
とは何ですか? 明らかに、文字通りの意味は次のとおりです。コールバック
では、なぜ Node でコールバック操作が必要なのでしょうか? Node を知っている学生は、Node が非同期操作の結果を処理するものであることを知っているかもしれません。
以下は、この問題の詳細な説明です:
非同期操作の コールバック
コールバックについて説明する前に、まず同期操作モードを見てみましょう:
function processData () { var data = fetchData (); data += 1; return data; }
この同期モードは通常の状況下では正常に動作し、この動作は他の開発環境でも一般的です。次に、fectData
メソッドがデータのロード時に非常に時間がかかる場合、データ同期のロードが完了する前にプログラム全体がブロックされることが明確にわかります。
Node.js は非同期操作処理プラットフォームであり、callback
callback の使用はファイル I/O 操作によってブロックされません。コールバック関数は、特定のタスクが完了した後に実行される関数です。このアプローチにより、一部のブロック状況が回避され、他のコードが実行を継続できるようになります。
Node.js のコールバック形式を使用して上記の同期操作を処理しますfetchData
時間がかかる状況:
function processData (callback) { fetchData(function (err, data) { if (err) { console.log("An error has occurred. Abort everything!"); return callback(err); } data += 1; callback(data); }); }
一見すると、少し複雑に見えます。理解するのは簡単ではありませんが、非同期操作を処理するコールバックは Node.js の基礎であるため、非常に重要です。
callback
コールバックの意味は、非同期操作が完了した後、callback
コールバックの内容を実行することです。
Node.js の非同期操作を処理するコールバック形式により、できるだけ多くの同時操作を処理できます (操作は IO 操作に似ています)
例:
In Web サービスでは、何らかの理由でブロックされた以前のリクエストがいくつかあり、同時に将来的には数百、さらには数千のリクエストが発行される予定です。
Node.js はこの非同期リクエストをどのように処理しますかブロッキング状況?毛織物?
前のブロッキング リクエストが終了するのを待ってから後続のリクエストを処理するのではなく、ブロッキング クエリを非同期で実行して、後続のクエリ リクエストが正常に動作できるようにします。
次は、非同期関数を使用するための一般的な形式です:
function asyncOperation ( a, b, c, callback ) { // ... lots of hard work ... if ( /* an error occurs */ ) { return callback(new Error("An error has occurred")); } // ... more work ... callback(null, d, e, f); } asyncOperation ( params.., function ( err, returnValues.. ) { //This code gets run after the async operation gets run });
callback
は通常、非同期関数の最後のパラメータです。非同期操作が終了したら、これを呼び出します。 # ##折り返し電話###。 通常、
の最初のパラメータは error
非同期操作でエラーが発生した場合、
Error オブジェクトです。それ以外の場合、最初の
error は
null で、他のパラメータは通常どおり返されます。
英語の元のアドレス: https://nodejs.org/en/knowledge/getting-started/control-flow/what-are-callbacks/
をご覧ください。 !詳細プログラミング関連の知識については、
プログラミング ビデオ
以上がNodejs のコールバックに関する簡単な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。