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.
То, что я пытаюсь сделать, мой запрос ограничен сервером RETS, запускается в цикле, увеличивая мое смещение, пока у меня не будут все мои данные. Я не знаю, что такое счет, пока не запущу запрос и не найду значение счетчика.
Я пытался использовать расширение, но я понятия не имею, как именно это работает. Пытался сделать это несколькими способами, даже используя старый цикл while, который пока не работает с методом .then. Поэтому я обратился к RXJS, так как использовал его в Angular 4.
Делается это экспрессом. В конечном итоге мне нужно запустить задания кукурузы для получения обновленных свойств, но моя проблема заключается в извлечении всех данных и увеличении смещения каждый раз, если счетчик превышает мое смещение. Так, например, запустите запрос со смещением 1 с ограничением 500. Всего здесь 1690. Итак, следующий обход моего смещения будет:
offset += limit
Когда у меня есть данные, мне нужно сохранить их в MongoDB. Что мне уже удалось успешно сделать. Это просто поиск способа получить все данные без необходимости вручную устанавливать мое смещение.
Обратите внимание, что предел сервера составляет 2500, да, я могу получить все это за один раз, но есть и другие данные, такие как медиа, которые могут иметь более 2500.
Какие-либо предложения?