如何使用node.js启动/停止请求stream?

我有

return request({ method: "POST", url: response.stream.url, json: true, forever: true, body: { sessionid: response.stream.sessionid, symbols: symbolParams } }).on("data", onData) 

无论何时,这都会给我提供数据。 但是,如果我想停止在那个stream上听,怎么办?

您可以使用https://nodejs.org/api/events.html#events_emitter_removelistener_eventname_listener

 const req = request({ method: "POST", url: response.stream.url, json: true, forever: true, body: { sessionid: response.stream.sessionid, symbols: symbolParams } }).on("data", onData); ... req.removeEventListener('data', onData); 

它似乎实现了可读stream接口,所以暂停()和恢复()工作。

 const request = require('request'); const req = request('http://google.com') .on('data', data => { console.log(data); req.pause(); }); 

你也可以放弃它:

 var req = request('http://google.com')... ... req.abort();