我使用nodejs流从我的级别数据库中提取数据(使用leveldb)。以下是我使用的代码片段:
app.get('/my/route', function (req, res, next) {
leveldb.createValueStream(options)
.pipe(map.obj(function (hash) {
level.get(somekeys, function (err, item) {
return item
})
}))
.pipe(res)
})
到目前为止,我一直在使用list-stream
模块来获取客户端的数据。
现在,我想将客户端上的信息作为流进行检索。我读过这篇文章(http://www.kdelemme.com/2014/04/24/use-socket-io-to-stream-tweets-between-nodejs-and-angularjs/)关于如何使用socket.io,但我不想使用socket.io
有什么简单的方法吗?
这可以通过Shoe完成。你必须用browserfy编译客户端代码,你可以在浏览器中有一个从服务器接收数据的流。
createValueStream
基本上是一个读取流,然后您可以监听事件,例如data
、end
:https://github.com/substack/node-levelup#createValueStream
只需监听end
事件即可完成流。
app.get('/my/route', function (req, res, next) {
leveldb.createValueStream(options)
.pipe(map.obj(function (hash) {
level.get(somekeys, function (err, item) {
return item
})
}))
.pipe(res)
.on('end', res.end)
})