我正在使用 request npm 模块创建一个请求。但是,如果内容类型不是 json,我希望流停止。目前,它不会停止,并且会生成错误,因为解压缩读取了无效的标头。我们如何停止流?
var req = request(options)
req
.on('error', function (err) { console.log("err"); reject(err) })
.on('response', function(response) {
if(response.headers['content-type'] != 'application/json')
{
console.log(response.headers['content-type'])
req.destroy() // doesn't work
this.destroy() // doesn't work
}
})
.on('end', function () { resolve() })
.pipe(gunzip) // ERROR!
Run Code Online (Sandbox Code Playgroud)
您可以使用stream.pause(),如下所示:
var req = request(options)
req
.on('error', function (err) { console.log("err"); reject(err) })
.on('response', function(response) {
if(response.headers['content-type'] != 'application/json')
{
console.log(response.headers['content-type'])
req.pause(); // stream paused
reject('not json');
}
})
.on('end', function () { resolve() })
.pipe(gunzip)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5470 次 |
| 最近记录: |