在模型更新时向不同客户发送响应

时间:2015-06-25 00:09:40

标签: javascript angularjs sails.js

我有一个简单但不寻常的问题。

  1. 我有一个客户端页面向RESTful API发出请求。所以客户 PUT ,没什么大不了的。表单将JSON发送到API,并从那里将其存储在服务器数据库中。

  2. 但是,我有一个单独的页面,应该从数据库中获取当前状态,比如行数。我需要在每次创建新行时更新计数。目前的解决方案是每5秒左右发送一次 GET 请求,这显然不太理想。如果还没有创建行,我不想查询数据库。

  3. 所以我需要在每一行创建一个触发器。这在app/api/Controllers/AppController.js中实施似乎微不足道。但是,在此文件中,我引用了 PUTting 客户端,而不是 GETting 客户端。我如何在那里引用GETting客户端?

1 个答案:

答案 0 :(得分:2)

听起来你指的是推送服务,需要在服务器端实现。

如果推送和状态更新页面应该是同一会话的一部分,您可以在存储数据时存储cookie。然后status页面可以轮询cookie,以便它知道何时发出新的AJAX请求。你仍然有客户端常量轮询,但由于cookie记录你是否需要更新它意味着更少的网络调用。

但是,如果这应该是同一会话的一部分,那只会有效。否则,您需要持续的AJAX轮询或某种推送服务。