Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

288
Vistas
¿El segundo operador `scan' de RxJS no continúa desde el anterior?

Tengo el siguiente código RxJS: ejemplo de código /* The result is: 4 9 15 4 9 15 */ ... ¿por qué el segundo scan comienza desde el principio (4,9,15) y no continúa desde el scan anterior? (mostrando 19,24,30). ¿Es la misma corriente después de todo?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

observables no funciona así. Tienes que verlos como un flujo de agua, donde puedes cambiar el agua con operadores. Cada vez que haces algo con números$ estás iniciando un nuevo flujo de agua. Entonces, la primera tubería no tiene nada que ver con la otra tubería y viceversa.

Si desea tener un valor de retorno sobre el primer escaneo, debe guardar el valor de retorno de la tubería y extenderlo con una tubería adicional.

 // 'scan' test let numbers$ = from([4, 5, 6]); let val1 = numbers$ .pipe( // Get the sum of the numbers coming in. scan((total, n) => { return total + n }), // Get the average by dividing the sum by the total number // received so var (which is 1 more than the zero-based index). //map((sum, index) => sum / (index + 1)) ) val1.subscribe(x => console.log('value of the first scan is', x)) val1.pipe( scan((total, n) => { return total + n }) ).subscribe(console.log);

O puede agregar otro escaneo en la tubería. Pero luego perderá el valor del primer escaneo:

 let numbers$ = from([4, 5, 6]); numbers$ .pipe( // Get the sum of the numbers coming in. scan((total, n) => { return total + n }), scan((total, n) => { return total + n }) // Get the average by dividing the sum by the total number // received so var (which is 1 more than the zero-based index). //map((sum, index) => sum / (index + 1)) ).subscribe(x => console.log('value of the second scan is', x))
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda