我想确保在Nodejs服务器端脚本中的以下代码之前必须完全执行我以前的函数

时间:2013-01-17 05:32:25

标签: javascript node.js mongodb callback

我想确保我的mongodb在mongoConnect函数中成功连接,然后开始查询它,因为在NodeJS中没有阻塞并且它继续执行语句

我只是想知道是否有一些像" .then(function(){..})"在服务器端或任何其他类似的东西,我知道有回调函数用于此目的但我不知道如何在这里使用它,我的意思是在我的情况下。
我继承我的代码:

io.sockets.on('connection', function (socket) {

mongoConnect();
//Some Query to the Database

socket.on('login',function(user)
{
        controller.loginUser(user);
 });
});

function mongoConnect()
  {
      var mongoose = require('mongoose');
       mongoose.connect('mongodb://xxxxxx-xxx-xxx.mongolab.com:xxx/xxxx');
  }

1 个答案:

答案 0 :(得分:2)

你可以使用mongoose.once等待'open'事件,然后执行你的回调。

var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');

var db = mongoose.connection;
db.once('open', function callback () {
   // Stuff here
});

查看此网站以供参考: http://mongoosejs.com/docs/index.html