Привет, участники сообщества StackOverflow,
Я работаю над Angular 8. У меня вопрос о том, как разбить мой HTTP-запрос, вместо отправки 1000 запросов за 1 go, я хотел бы есть что-то вроде отправки каждые 50 запросов только за один раз. Я не мог придумать никакого способа достижения этого. Ниже приведены мои фрагменты кода:
for (let i = 0; i < products.length; i++) {
this.myService.getProductInfoByCountryAndProductId(this.selectedCountries, this.product[i])
.subscribe(
(res) => { //get result },
(error) => { //throw error },
() => { //do something here });
}
Приведенный выше код вызовет все запросы в 1 go, представьте, если у меня есть 1000 продуктов в массиве products
, то есть это будет l oop 1000 раз и 1000 запросов были отправлены на сервер и вызвали проблемы с производительностью. Есть ли способ ограничить клиента не отправлять все запросы в один go?
Я пытался combineLatest
, результат не тот, который я хочу. Я хотел попробовать concatMap
, но имел в виду, что он будет отправлять HTTP-запрос 1 к 1, и обработка всех продуктов займет много времени. Есть предложения или идеи?