2016-02-23 102 views

回答

5

不幸的是,你將無法在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(); 

輪詢比如這是不是一個好方法。

1

你想創建一個可觀察到的從回調通知觀察員。嘗試是這樣的:

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(); 
+1

按照我的理解,JEK是想要一個新的觀察到當JSON是更新被省略。 – Skippy

+0

啊,我沒有從第一對夫婦的問題中得到這個結論。 – AkkarinZA