1. ホーム
  2. javascript

[解決済み] nodeJs コールバックの簡単な例

2022-06-19 03:42:19

質問

nodeJsのコールバックの簡単な例を教えてください。すでに多くのウェブサイトで同じことを検索しましたが、正しく理解することができませんでした。

getDbFiles(store, function(files){
    getCdnFiles(store, function(files){
    })
})

こんなことしたいんだけど...。

どのように解決するのですか?

var myCallback = function(data) {
  console.log('got data: '+data);
};

var usingItNow = function(callback) {
  callback('get it?');
};

次に、ノードまたはブラウザのコンソールを開き、上記の定義を貼り付けます。

最後にこの次の行で使用します。

usingItNow(myCallback);

Node-Styleのエラー規則について

Costa は、もし私たちがノードエラーコールバックの規約を尊重するならば、これがどのように見えるかを尋ねました。

この規約では、コールバックは少なくとも 1 つの引数、最初の引数をエラーとして受け取ることを期待する必要があります。オプションとして、コンテキストに応じて 1 つ以上の追加の引数を持つことになります。この場合、コンテキストは上記の例です。

ここでは、私たちの例をこの規約で書き換えています。

var myCallback = function(err, data) {
  if (err) throw err; // Check for the error and throw if it exists.
  console.log('got data: '+data); // Otherwise proceed as usual.
};

var usingItNow = function(callback) {
  callback(null, 'get it?'); // I dont want to throw an error, so I pass null for the error argument
};

エラーケースをシミュレートしたい場合は、次のようにusingItNowを定義します。

var usingItNow = function(callback) {
  var myError = new Error('My custom error!');
  callback(myError, 'get it?'); // I send my error as the first argument.
};

最終的な使い方は上記と全く同じです。

usingItNow(myCallback);

動作の違いは、どのバージョンの usingItNow は、最初の引数のコールバックに "truthy value" (Error オブジェクト) をフィードするもの、またはエラー引数のためにそれをヌルフィードフィードするものです。