2015-04-04 77 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) 
});