我正在访问一个流式传输响应的 API(用于 HTTP/1.1 的 RFC2616)。流永远不会结束,但有时会出现错误,要求程序重新启动请求。我不知道如何在 NodeJS 中重新启动请求而不重新启动程序。我尝试循环检查是否发生错误,但我最终创建了一个阻止请求方法的阻塞代码。下面的代码一直有效,直到发生错误。
const request = require('request');
const options = {
method: 'GET',
url: 'https://api.tradestation.com/v3/marketdata/stream/quotes/IWM',
headers: {Authorization: 'Bearer ' + api.token,},
};
request(options)
.on('data', function (data) {
console.log(data.toString());
//Process data here
})
.on('error', function (err) {
console.error(err);
});
如果有帮助,流式传输 API 的文档在这里,API 调用在这里。
附带说明一下,我尝试使用 Axios,但它似乎不喜欢无穷无尽的流(尝试过 onDownloadProgress)。