当流程中有数据库操作时,如何处理“等待”的问题?
发布于 9 年前 作者 stanlogin 3208 次浏览 最后一次编辑是 8 年前 来自 问答

(刚接触NODEJS,如果问题太滑稽请包含。)

比如socket.io官方最简单的那个聊天室(http://socket.io/get-started/chat/),有一段

io.on('connection', function(socket){
  socket.on('chat message', function(msg){
    io.emit('chat message', msg);
  });
});

我想在io.emt之前加一个比如说频率验证或者身份验证或其它某种数据库操作,假如这个数据库操作哪怕只有1ms,那么一秒钟最多也只能处理1000条用户输入。 更进一步,如果某个数据库操作意外的用了10秒钟,那么在这10秒钟内其他用户的输入就全部被“堵住”了。

我的问题是,如何能让SOCKET以类似“并行”的方式处理数据库的操作?

2 回复

自己结贴了,原来可以通过回调函数来完美解决。NODEJS设计真是好!

@stanlogin 欢迎来到回调地狱

来自酷炫的 CNodeMD

回到顶部