控制器内的功能返回“未定义”

时间:2014-12-27 11:20:46

标签: javascript node.js express mongoose mean-stack

函数findTransactionByBill找到结果,但当我从undefined内部调用时,它会返回app.post

function findTransactionByBill(billId){
   Transactions.find({billId : billId},function(err, transactions){
        if(err)
            res.send("Error: "+err);
        console.log(transactions); //Returns the results
        return transactions; // <--- Doesn't send the results to the trans variable inside the app.post below!
    }); 
}

app.post('/api/transaction', function(req, res) {
    trans = findTransactionByBill(req.body._id);
    console.log("Transactions: "+trans);
    Transactions.create({
        billId       : req.body._id,
        paymentDate  : Date.now(),
        amount       : req.body.amount,
        timestamp    : Date.now()

    }, function(err, transactions) {
        if (err)
            res.send(err);

        res.send(transactions);
        });
    });

当我记录transactions变量时,它会返回结果。但是当我从app.post(trans)内部调用它时,它显示为未定义...

我所要做的就是: 1)有一个共同的功能,我可以用它来检查该交易是否已经存在。 2)在应用程序的任何地方使用它。

也许我使用该功能的方式是错误的。在此先感谢您的帮助!

0 个答案:

没有答案