5

我在_auth服务中有一个名为已验证的主题。

如果某些条件失败,我想处置/取消订阅它,以便在下一个值到达经过身份验证的主题时不会调用此订阅。

                this.sub = this._auth.authenticated
                .subscribe((loggedIn) => {
                    if (!loggedIn) {
                        this.sub.dispose(); // doesn't work because this.sub is null
                        this._location.replaceState('/');
                        this._auth.doLogout(); // emits value again in authenticated subject
                    }
                });

rxjs-5 的做法是什么?

4

2 回答 2

0

您可以this.sub.unsubscribe();从订阅外执行此操作。

于 2019-10-02T11:58:31.850 回答
0

您持有对可观察对象的引用,例如:obs$ 并调用 obs$.unsubscribe();

于 2016-02-14T21:16:00.817 回答