2015-04-04 76 views
5

任何人都可以給我一個例子,我們正在創建一個特定的函數,它也有一個回調函數?用nodejs中的回調用戶自定義函數

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

我應該在哪裏放置登錄函數和回調函數的代碼?
PS:我是新來的NodeJS

回答

11

這裏的登錄功能的例子:

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 
    } 
}); 
+0

新的JS,不應該'登錄(用戶名,密碼,回調{'? – Suhaib 2017-07-19 07:00:31

+0

@Suhaib - 不完全是,但是我修正了第一個錯誤。 – jfriend00 2017-07-19 14:05:55

3

壞的問題,但瓦特/電子
你混淆了調用和定義異步函數:

// 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) 
});