gpt4 book ai didi

node.js - Node.js 有没有办法将数据库结果异步推送到客户端?

转载 作者:搜寻专家 更新时间:2023-11-01 00:33:53 25 4
gpt4 key购买 nike

假设您正在使用 Node.js 对数据库(在本例中为 sqlite)运行一系列查询。您知道这些查询可能需要一段时间才能处理,并且您希望客户端在结果进来时进行更新。也就是说,您希望将结果异步推送到客户端,然后更新 DOM。

我想我可以拼凑出一种使用 Faye 的方法(或其他一些 cometd 系统),JavaScript templating ,也许还有 Knockout.js。但是是否已经有一个框架或工具来做这种事情?

或者这只是错误的方法?

最佳答案

在之前的项目中我使用了Socket.IO这使得将更改轻松推送给客户。一个例子是这样的:

服务器代码:

socket.emit('ranQuery', { info: 'Info From Server!' });

客户端代码:

socket.on('ranQuery', function(data) {
console.log(data.info); // would output "Info From Server!"
// update the DOM with the new information
}

他们的网站上有很多工作示例。它可以像任何其他 Node 包一样安装,npm install socket.io


更新:

打开并阅读您发布的链接后,我会说您的方法是正确的。虽然我从未听说过 Faye,但它似乎做与 Socket.IO 类似的事情(将对象从服务器发送到客户端),并且 KnockoutJS 将处理数据绑定(bind)(当您更新模型时,它也会在页面上更新).如果您遇到任何障碍,我会说去尝试并在这里发布问题。

我提出 Socket.IO 的唯一原因是它的易用性和文档。我最近开始了一个使用 AngularJS + Socket.IO 的项目。如果您要根据服务器的频繁更新在客户端进行大量更改,您可能需要查看 AngularJS以及弄乱他们网站上的示例。

如果您认为这对您有用,请访问这篇博文 (http://briantford.com/blog/angular-socket-io.html),获取有关让 AngularJS 与 Socket.IO 很好地协同工作的非常棒的指南

关于node.js - Node.js 有没有办法将数据库结果异步推送到客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12830470/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com