【问题标题】:Destroying Requests in Node销毁节点中的请求
【发布时间】:2015-06-08 03:12:53
【问题描述】:

最近,我一直在尝试使用request 框架来处理无限长的可读流。我实现这一点的方式是在一个函数中多次调用,目的是破坏先前的请求。喜欢:

var request = require('request');

var start_request = function () {
    curr = request(url).pipe(trumpet)
    curr.destroy();
    curr = request(url + mod).pipe(trumpet);
}

但与其他Readable流不同,它似乎没有destroy方法,如果它多次调用start_request函数,它只是创建了几个请求。如何销毁/取消请求?

【问题讨论】:

  • 你想做什么?在这种情况下,您应该只发出 2 个请求。

标签: javascript node.js stream socket.io request


【解决方案1】:

您可以使用.abort() 来销毁请求。确保你也有一个 on('error') 处理程序。

var request = require('request');

var start_request = function () {
    curr = request(url);
    curr.on('error', function handleError(err) { /* ... */ });
    curr.pipe(trumpet);

    // Abort request
    curr.abort();

    curr = request(url + mod).pipe(trumpet);
}

【讨论】:

  • 我之前尝试过使用 abort 没有成功,但是错误处理程序让它工作了!
猜你喜欢
  • 2021-07-12
  • 2015-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多