从node.js回调返回一个空变量

时间:2015-06-27 15:15:52

标签: node.js mongodb mongoose

我遇到了node.js回调函数的问题。

这是我的postProcessing.js文件。

var express = require('express');
//create router like interface for responce  to app.js
var router = express.Router();
//Inject mongoose in context
var mongoose = require('mongoose');
//Create Mongoose Schema object
var Schema = mongoose.Schema;


router.get('/', function(req, res, next) {

  var radnikProjId = new Array();

  function make(callback) {

        mongoose.model('radprojcol').find({'mbr': 50}, function(err, radproji) {
            radproji.forEach(function(radproj){
            mongoose.model('projekatcol').findOne({'spr': radproj.spr}, function(err, projekat) {

              radnikProjId.push({'id':projekat._id});

            });

            });
          });

          return callback(radnikProjId);

}

  make(function(resp){
    console.log(resp)
  });

});

module.exports = router;

当我调用 make 函数时,它会返回一个空文档。

但是当我在大多数内部 foreach 中调用回调时,它会返回一个好文档,并且只需要我所需要的。

此代码有什么问题,任何人都可以帮助我吗?

我表示当我在 make 函数中调用回调时,我的radnikProjId数组变量将及时满足对象。

Thak you。

0 个答案:

没有答案
相关问题