Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

113
Visualizações
Varibles cannot change while I use rxjs operator

const a = [1, 2, 3, 4, 5, 6, 7,8];
rxjs.from(a.splice(0, 3))
      .pipe(
        rxjs.concatMap(val => {
          return rxjs.of(val).pipe(rxjs.delay(Math.random() * 1000));
        }),
        rxjs.repeatWhen(completed => completed.pipe(rxjs.delay(2000))),
        rxjs.tap(val => {
          console.log(a);
        }),
        rxjs.takeWhile(val => a.length > 0)
      )
      .subscribe(() => {});
<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/7.5.5/rxjs.umd.min.js"></script>

In above,I suppose it will console.log [4,5,6],and then [7,8],and then stop,but while it always console.log [4,5,6]。 I wonder know why it is and how to achive I want. Thanks!

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

You have to call splice inside the pipe

const a = [1, 2, 3, 4, 5, 6, 7,8];
rxjs.from(a.splice(0, 3))
      .pipe(
        rxjs.concatMap(val => {
          return rxjs.of(val).pipe(rxjs.delay(Math.random() * 1000));
        }),
        rxjs.repeatWhen(completed => completed.pipe(rxjs.delay(2000))),
        rxjs.tap(val => {
          console.log(a);
          a.splice(0, 3);
        }),
        rxjs.takeWhile(val => a.length > 0)
      )
      .subscribe(() => {});
<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/7.5.5/rxjs.umd.min.js"></script>

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda