【问题标题】:Handling Nodejs streams with AngularJS使用 AngularJS 处理 Nodejs 流
【发布时间】:2014-12-05 16:16:33
【问题描述】:

我正在使用 nodejs 流从我的关卡数据库中获取数据(使用 leveldb)。这是我使用的代码的 sn-p:

  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

有什么简单的方法吗?

【问题讨论】:

  • 我会将流直接扔到服务器的响应中,而不是通过 angularjs 传递

标签: node.js angularjs sockets stream


【解决方案1】:

createValueStream 基本上是一个读流,然后你可以监听事件 eg., 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)
  })

【讨论】:

    【解决方案2】:

    这可以通过Shoe 完成。您必须使用 browserify 编译客户端代码,并且您可以在浏览器中有一个流来接收来自服务器的数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-27
      • 1970-01-01
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-30
      相关资源
      最近更新 更多