wait Method

Waits for the first values from multiple emitters, states, or observables, applies a reducer function to these values, emits the resulting value to all subscribers of this state, and completes the stream

@param ...inputs: [...EmitterOrObservableTuple<I>, SpreadFn<I, T>]
A spread of emitters, states, or observables, followed by a reducer function. The reducer function takes the first values from each source as arguments and returns the value to be emitted

@returns this
The instance of the current state, allowing for method chaining

API

wait<I extends any[]>(...inputs: [...EmitterOrObservableTuple<I>, SpreadFn<I, T>]): this;

Example

import {of} from 'rxjs';
import {emitter, state} from '@bitfiber/rx';
 
const launch = emitter<number>();
const data = state<string>(1);
const count$ = of(1);
 
const result = state<number>(0, s => s
  // Waits the first values from all reactive sources, emits the reducer function value to
  // the state subscribers, and completes the stream
  .wait(launch, data, count$, (launch, data, count) => count));