如何在express.js中的函数外打印结果?

时间:2016-11-22 05:26:30

标签: node.js express

我已经返回了获取express.js中所有参数文件的函数。我想在find函数之外打印结果。我可以完成这个帮助我

exports.show = function(req, res) {
var parameterObject = [];
var produtObject = [];
Parameter.find().exec(function (err, Parameters) {
    if(err) { return handleError(res, err); }
    parameterObject.push(Parameters);

  });

  Product.find().exec(function (err, Products) {
    if(err) { return handleError(res, err); }
    produtObject.push(Products);

  });
  console.log(parameterObject);
  console.log(produtObject);

}

现在控制台我得到空的[]对象。

1 个答案:

答案 0 :(得分:1)

由于Parameter.find()是异步的,因此您无法访问它 但是你可以传递一个传递变量parameterObject

的回调
exports.show = function(req, res) {
var parameterObject = [];

    function MethodName(callback) {
        Parameter.find().exec(function (err, Parameters) {
            if(err) { return handleError(res, err); }
            parameterObject.push(Parameters);
            return callback(parameterObject);
        });
    }

    MethodName(function(parameterObject) {
        console.log(parameterObject);
    })

}