ホームページ  >  記事  >  ウェブフロントエンド  >  Nodejs のコールバックに関する簡単な説明

Nodejs のコールバックに関する簡単な説明

青灯夜游
青灯夜游転載
2021-05-19 09:47:252543ブラウズ

この記事では、Nodejs のコールバック コールバックについて紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。

Nodejs のコールバックに関する簡単な説明

推奨される学習: 「nodejs チュートリアル

callback とは何ですか? 明らかに、文字通りの意味は次のとおりです。コールバック

では、なぜ Node でコールバック操作が必要なのでしょうか? Node を知っている学生は、Node が非同期操作の結果を処理するものであることを知っているかもしれません。

以下は、この問題の詳細な説明です:

非同期操作の コールバックコールバックについて説明する前に、まず同期操作モードを見てみましょう:

function processData () {
  var data = fetchData ();
  data += 1;
  return data;
}

この同期モードは通常の状況下では正常に動作し、この動作は他の開発環境でも一般的です。次に、fectData メソッドがデータのロード時に非常に時間がかかる場合、データ同期のロードが完了する前にプログラム全体がブロックされることが明確にわかります。

Node.js は非同期操作処理プラットフォームであり、callbackcallback の使用はファイル 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 は通常、非同期関数の最後のパラメータです。非同期操作が終了したら、これを呼び出します。 # ##折り返し電話###。 通常、

callback

の最初のパラメータは error非同期操作でエラーが発生した場合、

callback## が呼び出されます。 # の場合、最初のパラメータは

Error オブジェクトです。それ以外の場合、最初の errornull で、他のパラメータは通常どおり返されます。 英語の元のアドレス: https://nodejs.org/en/knowledge/getting-started/control-flow/what-are-callbacks/

詳細プログラミング関連の知識については、

プログラミング ビデオ
をご覧ください。 !

以上がNodejs のコールバックに関する簡単な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はjuejin.cnで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。