RxJS Subscription

2020-10-13 10:07 更新

表示一次性資源,例如 Observable 的執(zhí)行。訂閱具有一種重要的方法,unsubscribe它不帶任何參數(shù),而只是處置該訂閱所擁有的資源。

class Subscription implements SubscriptionLike {
  static EMPTY: Subscription
  constructor(unsubscribe?: () => void)
  closed: [object Object]
  unsubscribe(): void
  add(teardown: TeardownLogic): Subscription
  remove(subscription: Subscription): void
}

子類

  • Subscriber

描述

此外,可以通過 add() 方法將訂閱分組在一起,該方法會(huì)將子訂閱附加到當(dāng)前訂閱。取消訂閱后,其所有子項(xiàng)(及其子孫)也將被取消訂閱。

靜態(tài)特性

屬性 類型 描述
Subscription

建設(shè)者

constructor(unsubscribe?: () => void)參量退訂可選的。默認(rèn)值為undefined。描述unsubscribe調(diào)用該方法時(shí)如何執(zhí)行資源處置的函數(shù)。

物產(chǎn)

屬性 類型 描述
關(guān)閉 [object Object] 指示此訂閱是否已經(jīng)取消訂閱的標(biāo)志。

方法

unsubscribe()
處置預(yù)訂所擁有的資源。例如,可以取消正在進(jìn)行的 Observable 執(zhí)行或取消在創(chuàng)建訂閱時(shí)開始的任何其他類型的工作。
unsubscribe(): void參量沒有參數(shù)。returns void

add()
添加在此 Subscription 的 unsubscribe()期間要調(diào)用的拆解。也可以用于添加子訂閱。
add(teardown: TeardownLogic): Subscription參量拆除在拆卸時(shí)執(zhí)行的附加邏輯。returnsSubscription:返回用于或添加到內(nèi)部訂閱列表的訂閱。此訂閱可用于 remove()從內(nèi)部訂閱列表中刪除傳遞的拆解邏輯。
如果要添加的拆解是已經(jīng)取消訂閱的預(yù)訂,add是正在調(diào)用相同的引用,還是 is Subscription.EMPTY,則不會(huì)添加。如果此訂閱已處于closed狀態(tài),則傳遞的拆卸邏輯將立即執(zhí)行。當(dāng)父訂閱取消訂閱時(shí),添加到該訂閱的所有子訂閱也將取消訂閱。

remove() 從內(nèi)部訂閱列表中刪除將在此訂閱的取消訂閱過程中取消訂閱的訂閱。 remove(subscription: Subscription): void

參量 類型
subscription The subscription to remove.

returnsvoid

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)