var offset = 1;
var limit = 500;
var list = new Promise(function (resolve, reject) {
rets.getAutoLogoutClient(config.clientSettings, (client) => {
var results = client.search.query(SearchType, Class, Query, {
limit: limit,
offset: offset
});
resolve(results);
});
});
var source = Rx.Observable.fromPromise(list);
source.subscribe(results => console.log(results.count));
我正在做一個房地產網站,使用RETS。RXJS擴展運營商
我試圖做我的查詢是有限的從RETS服務器,運行此循環增加我的偏移量,直到我有我所有的數據。我不知道計數是什麼,直到我運行查詢並找到計數值。
我試圖使用擴展,但我不知道它是如何工作的。試圖做到這些多種方式,即使使用舊的時尚while循環,而無法與.then方法一起使用。所以我已經轉向RXJS,因爲我一直在Angular 4中使用它。
這是在express中完成的。我需要最終運行玉米作業來獲取更新的屬性,但是如果計數高於我的偏移量,我的問題是每次都提取所有數據並增加偏移量。因此,例如,運行帶有偏移的1查詢與500總的限制這裏是1690年在我的偏移所以,下次去將是:
offset += limit
一旦我有我的數據,我需要保存它到MongoDB。我已經能夠成功做到這一點。它只是找到一種方法來獲取所有數據,而無需手動設置我的偏移量。
注意服務器的限制是2500,是的,我可以獲取這一切在一杆,但也有其他數據,如媒體,這可能大大超過2500
有什麼建議?
這不起作用。 switchMap不是一個函數。 takeWhile有語法錯誤,rets客戶端需要更好地組合。 –
@JoshuaScott你正在使用哪個版本的RxJS? – paulpdaniels
我正在使用RXJS 5 –