【问题标题】:Node JS : send asynchronously produced data [closed]Node JS:发送异步产生的数据[关闭]
【发布时间】:2014-08-19 22:12:56
【问题描述】:

我正在创建网站爬取应用程序,它将获取站点 url,然后开始异步爬取整个站点。

现在我将发送给定 url 的响应及其状态码,如 200、404 等。

但是该特定页面上的所有其他 url 将经历相同的过程,但由于响应已经发送,因此其他 url 响应代码将如何发送。

请建议如何在发送一次后再次发送更新的值作为响应?

【问题讨论】:

  • 详细说明一下。你的问题根本不是很清楚。
  • 更新了我的问题!!!
  • 还不清楚。太好了,您有一个爬虫,但是您要向什么发送响应?你为什么使用 HTTP?
  • 你好,布拉德,一旦我得到网站 url,我将在节点 js 中将响应发送到结果页面,其中包含该特定页面的状态。现在在后台,所有链接都将被处理为状态,并且随着它的进行,所有更新都应该发送到结果页面。但是在节点中,一旦发送响应,我们就无法发送其他响应,那么如何发送最新响应?
  • 听起来您正在尝试构建一个无需重新加载页面即可接收更新的页面。为此,请使用 AJAX 和/或 Web Sockets。看看 Socket.IO。

标签: node.js


【解决方案1】:

您几乎无法在响应发送后对其进行修改。我认为这有例外,但您可能不想使用它们。我认为你有几个选择

  • 捕获所有回调并发送一个响应
  • 打开某种 tcp 连接 (socket.io?) 并流式传输数据。

能否提供代码示例?

【讨论】:

  • 感谢 Brad 和 Zeke,我正在使用 socket.io 来解决这个问题。
猜你喜欢
  • 2018-04-26
  • 1970-01-01
  • 2018-05-15
  • 2016-04-15
  • 1970-01-01
  • 2017-12-22
  • 2017-02-03
  • 2020-06-01
  • 1970-01-01
相关资源
最近更新 更多