服務器的NodeJS端執行:如何使用https://www.npmjs.com/package/request與https://www.npmjs.com/package/rx,使GET請求https://www.reddit.com/r/javascript.json?RxJS + Node.js的HTTP請求
目標:我試圖完成不斷流,每當有數據更改任何網站API URL我使用。
服務器的NodeJS端執行:如何使用https://www.npmjs.com/package/request與https://www.npmjs.com/package/rx,使GET請求https://www.reddit.com/r/javascript.json?RxJS + Node.js的HTTP請求
目標:我試圖完成不斷流,每當有數據更改任何網站API URL我使用。
不幸的是,你將無法在https://www.reddit.com/r/javascript.json
被更新,因爲沒有辦法讓他們按這個信息給客戶端接收更新。
服務如Github上會讓你註冊一個webhook
,這將讓他們將數據推送到您的服務器上的端點。我不確定Reddit是否支持這一點。
作爲一個替代的解決方案,以及在什麼AkkarinZA他回答說建築,你可以使用類似於下面的內容輪詢JSON文件:
var fetchContent = function(url) {
return rx.Observable.create(function (observer) {
request(url, function (error, response, body) {
if (error) { observer.onError(); }
else { observer.onNext({response: response, body: body }); }
observer.onCompleted();
})
});
};
rx.Observable.interval(1000)
.map(function() { return 'https://www.reddit.com/r/javascript.json' })
.flatMap(fetchContent)
.map(/* do something */)
.subscribe();
輪詢比如這是不是一個好方法。
你想創建一個可觀察到的從回調通知觀察員。嘗試是這樣的:
rx.Observable.create(function (observer) {
request('https://www.reddit.com/r/javascript.json', function (error, response, body) {
if (error) { observer.onError(); }
else { observer.onNext({response: response, body: body }); }
observer.onCompleted();
})
})
.map(/* do something */)
.subscribe();
按照我的理解,JEK是想要一個新的觀察到當JSON是更新被省略。 – Skippy
啊,我沒有從第一對夫婦的問題中得到這個結論。 – AkkarinZA