0

У меня есть Угловая служба, которая извлекает записи из открытого API. API ограничивает меня получением 100 записей за раз, и я не буду знать, сколько записей есть, пока я не получу первую партию.Как сделать рекурсивные http-звонки в службе Angular2 для предварительной выборки данных?

Формат ответа API выглядит следующим образом:

{ 
    "offset": 0, 
    "limit": 100, 
    "total": 140, 
    "count": 100, 
    "results": [] 
} 

Я не знаю, сколько звонков мне нужно, чтобы сделать к API, пока я не извлечь первую страницу и получить значение "total" от ответ.

Любая идея, как это сделать?

Спасибо!

+0

Как это ограничивает вас, если вы спрашиваете 101 он отвечает с 100, а затем ошибка? Это просто ошибка? – Kilmazing

+0

Он отвечает кодом http 409 и ошибки, если вы предоставляете предел> 100. – Ryan

+0

Функция компонента, которая вызывает услугу выборки, может быть просто сделана для повторного вызова себя. –

ответ

0

Не угловая конкретная проблема, поэтому нет (реального) кода здесь.

На любом языке; вы можете сделать что-то вроде этого: (т.е. вызов функции GetData от функции, которая принимает данные)

var limit = 100; 
var offset = 0; 

function getData(offset) { 
someHTTPcall('http://...?offset='+offset) 
mapData(response) 
} 

function mapData(result) { 
myData.push(response.results) 
if (myData.length < response.total) { 
    getData(myData.lenght +1) 
} 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^