web-dev-qa-db-ja.com

nodejsのコールバックを使用するユーザー定義関数

コールバック関数も持っている特定の関数を作成している例を教えてもらえますか?

function login(username, password, function(err,result){
});

ログイン関数とコールバック関数のコードはどこに置くべきですか?
p.s .: nodejsは初めてです

11
manpreetSingh

ログイン関数の例を次に示します。

function login(username, password, callback) {
    var info = {user: username, pwd: password};
    request.post({url: "https://www.adomain.com/login", formData: info}, function(err, response) {
        callback(err, response);
    });
}

そしてログイン関数を呼び出す

login("bob", "wonderland", function(err, result)  {
    if (err) {
        // login did not succeed
    } else {
        // login successful
    }
});
23
jfriend00

悪い質問ですが、w/e
非同期関数の呼び出しと定義を混同しました:

// define async function:
function login(username, password, callback){
  console.log('I will be logged second');
  // Another async call nested inside. A common pattern:
  setTimeout(function(){
    console.log('I will be logged third');
    callback(null, {});
  }, 1000);
};

//  invoke async function:
console.log('I will be logged first');
login(username, password, function(err,result){
  console.log('I will be logged fourth');
  console.log('The user is', result)
});
5
Plato