Я создаю торгового бота, которому иногда требуется совершать несколько вызовов API Exchange (например, обновлять N диаграмм после переподключения).Я хотел бы, чтобы эти вызовы были разнесены по времени, чтобы я не заканчивал тем, что заполнил API (я все еще не хочу отбрасывать все вызовы, которые мне нужно сделать, поэтому debounce / throttle - это не то, что я ищу),Как это:
Источник: [обновить диаграмму 1, обновить диаграмму 2, ..., обновить диаграмму N]
Наблюдаемо: [обновить диаграмму 1 -> ждать 1 секунду -> обновить диаграмму 2-> подождите 1 секунду -> ... -> обновить диаграмму N]
Я ожидаю, что эта наблюдаемая завершится за N - 1 секунду.
Как я могу построить такую Наблюдаемую?(Я использую rxjs ^ 6.3.3)
Примечание: я изучал идею создания субъекта callAPI, оборачивающего все вызовы API и каким-то образом задерживающего их, но я тоже не могу понять это.
Спасибо .-
Обновление : Хорошо, в итоге я использовал Узкое место , например:
const limiter = new Bottleneck({
minTime: 1000
})
Тогда:chartsToReset.map(async (chart) => await limiter.schedule(() => exchangeAPI.updateChart(chart)))