【发布时间】:2016-05-10 01:19:22
【问题描述】:
我想查询一个表并在内容进入时将其写入套接字,以进行更大的查询。 I was reading the documentation for streams。我试图用 socket.io 来实现它。下面是我的/users 路由示例,其中app 是express 的实例,io 是socket.io 的实例。
module.exports = function (app, io) {
app.get('/users', function (req, res, next) {
const limit = req.queryParams.limit || 100;
const stream = req.db.select('*').from('users').limit(limit).stream();
req.on('close', stream.close.bind(stream)); // manually close on request cancel
// how can you stream to the socket?
// how do you know when the amount is reached to end the response?
});
}
我想知道的是; 如何将此查询的结果流式传输到 io 套接字中?每当找到结果时,我想基本上发出一个added 事件,使用表名、id 和找到的条目作为参数。
【问题讨论】:
-
你的数据源或数据类型与socket.io无关。你问的这么有效 - 如何使用 socket.io 流式传输数据?你试过了吗?
-
我特意问,使用带 knex 的流式接口如何流式传输。我有来自 knex 的链接文档
-
knex 公开了一个通用的流协议,它可以以通用的方式与 socket.io 一起工作。如果您发布您尝试将数据流式传输到 socket.io 的确切问题,它将更好地帮助您。
标签: node.js postgresql sockets socket.io knex.js