What are the types for the RX JS Observer functions (onNext, onError and onCompleted)?

Viewed 28

I've got a wrapper function around an RX Subject. Is there a better way to specify these types?

let onNext: (element: any) => void;
let onError: (error: any) => void;
let onCompleted: () => void;
2 Answers

You can import types right from rxjs:

import { Observer, NextObserver, CompletionObserver, ErrorObserver } from 'rxjs';

Types XyObserver only require one handler, while Observer all three handlers.

Use these types from RX:

import { Observer } from 'rx';

let onNext: Observer['onNext'];
let onError: Observer['onError'];
let onCompleted: Observer['onCompleted'];
Related