user4254398
user4254398

Reputation: 383

RxJs pipes as parameter

how to pass pipes as parameter , I mean something like this :

var mypipes = [
               pipeA(() => {
                alert("a"); 
               })
               ,
              pipeB(() => {
                alert("b"); 
               })
             ];

of(arg1, arg2, arg3).pipe(mypipes).subscribe();

I got this error : provides no match for the signature '(source: Observable): Observable'

Upvotes: 0

Views: 418

Answers (1)

martin
martin

Reputation: 96969

You can use just pipe(...operators) but you'll have to define exact length of your array so pipe() knows what override to use:

const operators: [OperatorFunction<number, number>, OperatorFunction<number, number>] = [
  tap(v => console.log(v)),
  tap(v => console.log(v)),
];

of(1, 2).pipe(...operators).subscribe((v) => console.log(v));

Or you could use just [any, any] as well.

Live demo: https://stackblitz.com/edit/rxjs-s9efsr?devtoolsheight=60

Upvotes: 3

Related Questions