Asynchronous waiting with an Observable (chain)

JS
S
JavaScript

Simple example of using an observable as a waiting rule.

1function waitingRule(options: any): Rule {
2    return (host: Tree) => {
3        const observer = new Observable<Tree>((observer) => {
4            fetch('someUrl.com/') // any async operation
5                .then(res => res.json())
6                .then(data => {
7                    observer.next(host);
8                    observer.complete();
9                })
10                .catch(function (err: any) {
11                    observer.error(err);
12                });
13        });
14        return observer;
15    };
16}

Created on 5/25/2019