Home Manual Reference Source Test Repository
import {Subscription} from '@reactivex/rxjs/es6/Subscription.js'
public class | source

Subscription

Direct Subclass:

Action, Subscriber

Indirect Subclass:

es6/observable/ConnectableObservable.js~ConnectableSubscriber, es6/observable/ConnectableObservable.js~RefCountSubscriber, es6/operator/sequenceEqual.js~SequenceEqualCompareToSubscriber, SubjectSubscriber, es6/operator/timestamp.js~TimestampSubscriber

表示可清理的资源,比如 Observable 的执行。Subscription 有一个重要的方法,unsubscribe, 该方法不接受参数并且清理该 subscription 持有的资源。

另外,subscriptions 可以通过 add() 方法进行分组,即可以给当前 Subscription 添加子 Subscription。 当 Subscription 被取消订阅,它所有的子孙 Subscription 都会被取消订阅。

Test:

Constructor Summary

Public Constructor
public

constructor(unsubscribe: function(): void)

Member Summary

Public Members
public

用来标示该 Subscription 是否被取消订阅的标示位。

Method Summary

Public Methods
public

添加一个 tear down 在该 Subscription 的 unsubscribe() 期间调用。

public

remove(subscription: Subscription): void

从 Subscription 的内部列表中删除一个 Subscription。在该 Subscription 取消订阅的过程中 取消订阅。

public

unsubscribe(): void

清理 subscription 持有的资源。例如,可以取消正在进行的 Observable 执行或取消在创建 Subscription 时启动的任何其他类型的工作。

Public Constructors

public constructor(unsubscribe: function(): void) source

Params:

NameTypeAttributeDescription
unsubscribe function(): void
  • optional

描述 unsubscribe 方法被调用时该如何执行资源清理的函数。

Public Members

public closed: boolean source

用来标示该 Subscription 是否被取消订阅的标示位。

Public Methods

public add(teardown: TeardownLogic): Subscription source

添加一个 tear down 在该 Subscription 的 unsubscribe() 期间调用。

如果清理是在已取消订阅的 subscription 时候添加的,那么它和 add 正在调用的引用是同一个, 或者是 Subscription.EMPTY, 它都不会被添加。

如果该 subscription 已经在 closed 状态,传入的清理逻辑将会立即执行。

Params:

NameTypeAttributeDescription
teardown TeardownLogic

执行清理程序时的附加逻辑。

Return:

Subscription

返回用于创建或添加到内部 Subscription 列表中的 Subscription。 该 Subscription 可以使用 remove() 删除内部的 subscriptions 列表中传入的清理逻辑。

public remove(subscription: Subscription): void source

从 Subscription 的内部列表中删除一个 Subscription。在该 Subscription 取消订阅的过程中 取消订阅。

Params:

NameTypeAttributeDescription
subscription Subscription

被移除的 subscription。

Return:

void

public unsubscribe(): void source

清理 subscription 持有的资源。例如,可以取消正在进行的 Observable 执行或取消在创建 Subscription 时启动的任何其他类型的工作。

Return:

void