Промежуточное решение RxJS FlatMap и ConcatMap? - PullRequest
0 голосов
/ 20 декабря 2018

У меня есть приложение, написанное на машинописном языке с использованием rxjs, где я использую flatMap, чтобы вернуть список из 5000 наблюдаемых, но я не хочу, чтобы все они были подписаны одновременно.

Я пытался использоватьconcatMap, но это позволяет моему приложению работать очень медленно, поскольку оно последовательно обрабатывает одну за другой.

Я заинтересован в создании чего-то вроде пула из 10 подписок, где, когда одна заканчивается, запускается другая, это будет поддерживать активными только 10 подписок.в то же время.

Я думаю, что могу создать ручное управление этим, но мне интересно знать, есть ли лучший подход, используя какую-то другую карту или стратегию.

1 Ответ

0 голосов
/ 21 декабря 2018

Совет @cartant поможет мне найти решение, для приведенного ниже кода вы можете использовать flatMap или mergeMap, поскольку они одинаковы.

this.service.getData(id).flatMap(data => {
  return Observable.of(data);
}, 10).do(value => {
  console.log(value);
})

Этот код просто для передачи идеи, как использовать параллельный параметр flatMap / mergeMap.Число 10 - это параллельный параметр.

...