node.js - 如何从 'waiting' 停止浏览器以进行 Node.js 回调

标签 node.js express

我正在 Node.js 上创建一个 Express JS 应用程序,并实现了一个页面,该页面将根据 chat.nodejs.org (https://github.com/ry/node_chat) 回调实时更新。我已经按照“node_chat”中的方法进行操作,如果从另一个浏览器进行更新,页面会正确更新。唯一的问题是我似乎无法阻止浏览器 (Chrome) 停止“等待本地主机”并停止运行,我认为它不需要这样做。

这是我的代码的简化版本(为简洁起见)。有什么想法吗?

client.js(客户端):

function poll(data) {
// ...
if(data){
    // do something with the data

} 
    $.ajax({
        cache:false,
        type:'GET',
        url:'/json-people',
        dataType: 'json',
        data: {
            slug: queue.slug,
            since: CONFIG.last_timestamp
            },
        error: function () {
            // handle error
        },
        success: function (data) {
            poll(data);
        }
    });
};

应用程序.js:

app.get('/json-people', function (req, res) { 
  queueProvider.query(req.param('slug'), req.param('since'), function (people){
    res.send({people: people}, 200);
  });

});

我在 queueProvider.query 方法中放入什么似乎并不重要,它会旋转直到执行 res.send(...)。

我用了https://github.com/ry/node_chat/blob/master/client.jshttps://github.com/ry/node_chat/blob/master/server.js供引用。

特别是:

fu.get("/recv", function (req, res) {...}

channel 查询()

channel.appendMessage()

谢谢。

最佳答案

我建议您从轮询切换到类似 WebSockets 的方式(例如 http://socket.io)

关于node.js - 如何从 'waiting' 停止浏览器以进行 Node.js 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6221605/

相关文章:

node.js - 在 Express/Node 中使用 sendFile 时出现随机 'ECONNABORTED' 错误

node.js - Express js中的AWS s3文件上传: whats the difference between upload vs multipart upload

javascript - 使用带有非常简单脚本的 Node 发送后无法设置 header

node.js - 如何在 NodeJS 中的循环内发出 HTTP 请求

node.js - Strongloop环回中的hasMany和referencesMany有什么区别

node.js - 从命令行部署 Windows Azure 应用程序?

javascript - 在 block 外使用值时返回 null

node.js - socket.io 中的 'socket' 对象到底是什么?如何确保其使用效果最佳?

node.js - 我应该将用户信息放入 JWT token 中,还是只放入用户 ID,然后从数据库中选择信息?

node.js - Multer 没有将文件保存为同名且没有扩展名?