销毁节点中的请求

时间:2015-04-03 02:05:50

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

最近,我一直在尝试使用request框架包围无限长的可读流。我实现它的方式是在一个函数中被多次调用,目的是销毁先前的请求。像:

var request = require('request');

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

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

1 个答案:

答案 0 :(得分:0)

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