Я хочу создать наблюдаемое из бесконечного генератора, который вызывает функцию, которая возвращает обещание и поддерживает одновременно 4 невыполненных обещания.У меня есть это
const {from} = require('rxjs');
const {mergeMap} = require('rxjs/operators');
const delay = require('delay');
let i = 0;
function* getData() {
while(true){
yield Promise.resolve(i++);
}
}
function executeP(val){
console.log('a');
return delay(Math.random()*3000).then(()=>val);
}
const obs = from(getData()).pipe(
mergeMap((x)=>from(executeP(x)),4)
);
obs.subscribe(x=>console.log(x));
Это просто застревает.Я хочу получить getData, а затем выполнить P для каждого, но только до 4 процессов.