Function createEffect

  • Creates an Effect - A higher-order wrapper around a Promise-or-Observable returning function. The effect is cancelable if it returns an Observable. createEffect by default runs in concurrency mode: "immediate" aka mergeMap.

    Type Parameters

    • Request
    • Response = void
    • TError extends Error = Error
    • TState = Response

    Parameters

    • handler: EffectSource<Request, Response>

      The Promise or Observable-returning effect function - the EffectSource

    • concurrencyOperator: {
          <T, O>(project, concurrent?): OperatorFunction<T, ObservedValueOf<O>>;
          <T, O>(project, resultSelector, concurrent?): OperatorFunction<T, ObservedValueOf<O>>;
          <T, R, O>(project, resultSelector, concurrent?): OperatorFunction<T, R>;
      } = mergeMap

      The concurrency-control function (defaults to mergeMap aka Immediate)

        • <T, O>(project, concurrent?): OperatorFunction<T, ObservedValueOf<O>>
        • Type Parameters

          • T
          • O extends ObservableInput<any>

          Parameters

          • project: ((value, index) => O)
              • (value, index): O
              • Parameters

                • value: T
                • index: number

                Returns O

          • Optional concurrent: number

          Returns OperatorFunction<T, ObservedValueOf<O>>

        • <T, O>(project, resultSelector, concurrent?): OperatorFunction<T, ObservedValueOf<O>>
        • Type Parameters

          • T
          • O extends ObservableInput<any>

          Parameters

          • project: ((value, index) => O)
              • (value, index): O
              • Parameters

                • value: T
                • index: number

                Returns O

          • resultSelector: undefined
          • Optional concurrent: number

          Returns OperatorFunction<T, ObservedValueOf<O>>

        • <T, R, O>(project, resultSelector, concurrent?): OperatorFunction<T, R>
        • Type Parameters

          • T
          • R
          • O extends ObservableInput<any>

          Parameters

          • project: ((value, index) => O)
              • (value, index): O
              • Parameters

                • value: T
                • index: number

                Returns O

          • resultSelector: ((outerValue, innerValue, outerIndex, innerIndex) => R)
              • (outerValue, innerValue, outerIndex, innerIndex): R
              • Parameters

                • outerValue: T
                • innerValue: ObservedValueOf<O>
                • outerIndex: number
                • innerIndex: number

                Returns R

          • Optional concurrent: number

          Returns OperatorFunction<T, R>

    • Optional initialState: TState

    Returns EffectRunner<Request, Response, TError, TState>

    Summary

    immediate mode