我有一个var函数,用于检查数据库中的用户名,但是我不知道如何在Node.js中调用它。
这就是我要的东西:
// Get user_name from post.
app.post("/api/exercise/new-user", function(req, res) {
let user_name = req.body.username; // Gets the URL from the body of the page.
//Call findPeopleByName here.
});
// Check the database if user exists.
var findPeopleByName = function(userName, done) {
User.find({username:userName}, (err, data) => {
if (err) {
done(err);
}
done(null, data);
});
};
答案 0 :(得分:1)
这是一个需要回调的函数。因此,要使用它,请使用参数和完成后将执行的函数来调用它。回调将是done
中的findPeopleByName
函数,在从User.find()
接收数据后将调用该回调
app.post("/api/exercise/new-user", function (req, res) {
let user_name = req.body.username; //Gets the URL from the body of the page.
findPeopleByName(user_name, (err, result) =>{
if(err) {
//handle error
return
}
// use result
console.log(result)
// res.send() etc...
})
});
答案 1 :(得分:1)
首先,应在调用函数findPeopleByName
之前对其进行定义。其次,要调用此函数,而不是真正知道回调done
是什么,如果将findPeopleByName(user_name, done)
替换为要在{{1 }}。