Código fuente:
import { of } from 'rxjs';
import { Injectable } from '@angular/core';
import { map } from 'rxjs/operators';
import { tap } from 'rxjs/operators';
@Injectable()
export class JerrySandBoxService{
name = 'Jerry';
print(){
const observable = of(1, 2, 3);
const newObservable = observable.pipe(
tap(num => console.log(num)),
map(num => 'hello world: ' + num)
);
newObservable.subscribe(data => console.log(data));
}
}
Ejecute la función de mapa antes de ejecutar la tubería:
map devuelve una nueva función:
A continuación, ejecute la función de tubería: parámetros de longitud variable de operaciones, incluidas dos operaciones de tap y map.
La implementación de pipeFromArray usa el cierre de JavaScript:
Hasta ahora, las funciones de flecha en el toque y el mapa que pasamos no se han ejecutado hasta que se llama al método de suscripción:
En este momento, para 1, 2 y 3 en la matriz, primero ejecute las operaciones de tap y map en la canalización, y luego use la salida de la operación de mapa como entrada para ejecutar la devolución de llamada especificada en la suscripción:
Para obtener más artículos originales de Jerry, siga la cuenta pública "Wang Zixi":