在节点中销毁请求

Destroying Requests in Node

最近,我一直在尝试使用 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函数,它只是创建了几个请求。我如何destroy/cancel请求?

您可以使用.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);
}