O método de tubo do objeto Observable em rxjs

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":

Acho que você gosta

Origin blog.csdn.net/i042416/article/details/108600630
Recomendado
Clasificación