0

全面披露:我对完全异步模型非常陌生。

在我的应用程序中,有许多实例需要将信息提交到数据库,但应用程序可以在不知道结果的情况下继续运行。在等待数据库写入完成之前呈现页面是否可以接受?

4

2 回答 2

1

是的。例如:

app.get('/', function(req, res, next) {
  res.jsonp({
    message: 'Hello World!'
  });
  var i = 0;
  while (true) {
    i++;
  }
});

当用户访问'/'时,他会立即看到结果。但是如果只有一个节点实例在运行,当其他用户访问'/'时,他不会收到任何响应,因为唯一的实例处于无限循环中。

如果您有很多繁重的工作要做(例如,受 CPU 限制的工作),最好使用 MSMQ 和 AMQP 等消息队列,而不是在节点实例中完成所有工作。

于 2012-11-22T06:52:10.780 回答
0

当然。但是,如果确实出现问题,您将如何通知用户错误?除非您正在使用套接字或 ajax 或其他东西,否则请求是标准方式。

于 2012-11-22T06:01:06.457 回答