W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
什么是訂閱?訂閱是代表可拋棄資源的對(duì)象,通常是 Observable 的執(zhí)行。訂閱具有一種重要的方法, unsubscribe
它不帶任何參數(shù),而只是處置該訂閱所擁有的資源。在以前的 RxJS 版本中,訂閱稱為“一次性”。
import { interval } from 'rxjs';
const observable = interval(1000);
const subscription = observable.subscribe(x => console.log(x));
// Later:
// This cancels the ongoing Observable execution which
// was started by calling subscribe with an Observer.
subscription.unsubscribe();
訂閱實(shí)際上僅具有 unsubscribe()
釋放資源或取消可觀察執(zhí)行的功能。
訂閱也可以放在一起,以便 unsubscribe()
對(duì)一個(gè)訂閱中的一個(gè)的調(diào)用可以取消訂閱多個(gè)訂閱。您可以通過將一個(gè)訂閱“添加”到另一個(gè)訂閱中來做到這一點(diǎn):
import { interval } from 'rxjs';
const observable1 = interval(400);
const observable2 = interval(300);
const subscription = observable1.subscribe(x => console.log('first: ' + x));
const childSubscription = observable2.subscribe(x => console.log('second: ' + x));
subscription.add(childSubscription);
setTimeout(() => {
// Unsubscribes BOTH subscription and childSubscription
subscription.unsubscribe();
}, 1000);
執(zhí)行后,我們會(huì)在控制臺(tái)中看到:
second: 0
first: 0
second: 1
first: 1
second: 2
訂閱還具有一種 remove(otherSubscription)
方法,以便撤消添加子訂閱。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: