首页 > 解决方案 > 无法取消订阅 ionic 3 应用程序中的 observables

问题描述

我在我的应用程序中使用 ionic 3,我在 android 设备中使用 cordova-plugin-network-information 进行互联网连接检测事件,我可以订阅它,但无法取消订阅它。

我试过 rxjs,订阅取消订阅 observables,但没有得到预期的结果。

以下是我的代码:

import {Subscription } from 'rxjs/Subscription';

private _netConnection : Subscription = new Subscription();

_netConnection = this.network.onConnect().subscribe(()=>{
          alert("connected");
})

_netConnection.unsubscribe();

但是enter code here上面的 _netConnection.unsubscribe() 不起作用,因为当连接可用时我仍然收到警报。

标签: typescriptrxjsionic3

解决方案


使用采取直到

import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';

private finalize = new Subject<void>();

this.network.onConnect().pipe(takeUntil(finalise)).subscribe(()=>{
  alert("connected");
  finalise.next();
});

推荐阅读