您如何在Node.js中调用var函数?

时间:2018-12-15 23:01:04

标签: javascript node.js mongodb

我有一个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);
    });
};

2 个答案:

答案 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 }}。