最近,我一直在尝试使用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
函数,它只会创建多个请求。我该如何销毁/取消请求?
答案 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);
}