恼人的简单的Javascript问题

时间:2015-06-21 15:33:29

标签: javascript mongoose

我正在使用javascript来填充变量,但是我在回收数据时遇到了问题。

这是代码:

var invoice_email = function(req, res, clientObject, staffId, appointment, staff_template, client_template, callback){
    //This step sets up all the variables in the locals object
    var locals = [];

    //This makes the query if StaffId has no email property
            if (staffId[0].email !== undefined){
                console.log('StaffID is an Object');
                locals.staff = staffId[0];
            } else {
                var myStaff_id = staffId[0].toString();
                User.findOne({roles: 'staff', _id: myStaff_id})
                    .select('_id email displayName profile_pic')
                    .exec(function(err, user) {
                        if (err) {
                            console.log(err);/*res.status(400).send({
                                message: errorHandler.getErrorMessage(err)
                            });*/
                        } else {
                            locals.staff = user;

                        }
                });
            }
            console.log(locals.length);
            console.log(locals);
};

我试图在if-else语句之外获取'locals'变量,但是无法让它返回locals变量。我知道函数循环,然后执行if-else语句,但是无法获取locals变量,这非常烦人。

我也尝试使用return locals,但这不会,因为我从另一个函数调用invoie_email函数,并希望在返回调用者之前在这里做更多的事情。有人可以帮忙吗?

0 个答案:

没有答案