Código fonte:
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));
}
}
Execute a função de mapa antes de executar o tubo:
map retorna uma nova função:
Em seguida, execute a função de tubo: parâmetros de comprimento variável de operações, incluindo tocar e mapear duas operações.
A implementação de pipeFromArray usa o fechamento de fechamento do JavaScript:
Até agora, as funções de seta no toque e mapa que passamos não foram executadas até que o método de inscrição seja chamado:
Neste momento, para 1, 2 e 3 na matriz, primeiro execute as operações de toque e mapeamento no pipeline e, em seguida, use a saída da operação do mapa como entrada para executar o retorno de chamada especificado na assinatura:
Para obter mais artigos originais de Jerry, siga a conta pública "Wang Zixi":