摘要:原文什么是是一個對象,表示一種可被處置的資源,通常指代一個流的執(zhí)行過程。在之前版本中的,被稱為可被處置的。本質(zhì)是一個含有方法,用來釋放資源或者取消流執(zhí)行的對象。
原文: http://reactivex.io/rxjs/manu...
什么是Subscription? Subscription是一個對象,表示一種可被處置的資源,通常指代一個Observable流的執(zhí)行過程。
Subscription有一個重要的方法unsubscribe(),不需要參數(shù),僅僅用來釋放掉subscription實例所持有的的資源。
在之前版本中的RxJS,Subscription被稱為“可被處置的”。
var observable = Rx.Observable.interval(1000); var 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();
Subscription本質(zhì)是一個含有unsubscribe()方法,用來釋放資源或者取消Observable流執(zhí)行的對象。
多個Subscription可以被組合在一起,從而使調(diào)用其中一個Subscription的unsubscribe()方法能夠讓所有的Subscription都取消流的執(zhí)行。要做到這一點,可以將一個subscription實例“添加”到另一個中去:
var observable1 = Rx.Observable.interval(400); var observable2 = Rx.Observable.interval(300); var subscription = observable1.subscribe(x => console.log("first: " + x)); var childSubscription = observable2.subscribe(x => console.log("second: " + x)); subscription.add(childSubscription); setTimeout(() => { // Unsubscribes BOTH subscription and childSubscription subscription.unsubscribe(); }, 1000);
執(zhí)行一下,我們可以看到輸出是這樣的:
second: 0 first: 0 second: 1 first: 1 second: 2
Subscription也有一個名為remove(otherSubscription)的方法,用來撤銷已經(jīng)添加到其中的其他Subscription。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/83626.html
摘要:通過執(zhí)行和可以向訂閱者推送不同的通知。之后,執(zhí)行過程可能被處理掉。當(dāng)調(diào)用并得到觀察者時,在中傳入的函數(shù)將會被執(zhí)行。每次執(zhí)行都會觸發(fā)一個單獨針對當(dāng)前的運行邏輯。通知不發(fā)出任何值,表示流的結(jié)束。 原文:http://reactivex.io/rxjs/manu... Rx.Observalbe.create()或者創(chuàng)建操作符,可以 創(chuàng)建(created) Observable流。Obser...
摘要:舉例來說,每年都有生日是一道數(shù)據(jù)流,但是一個人的年齡卻是一個流。運行結(jié)果顯示,第二個在訂閱之后,獲得了數(shù)據(jù)流中最后毫秒事件內(nèi)產(chǎn)生的和三個值。 原文:http://reactivex.io/rxjs/manu... Subject是什么? RxJS的Subject是Observable的一個特殊類型,他可以將流中的值廣播給眾多觀察者(Observer)。一般的Observalbe流是單一...
摘要:原文是一個使用可觀察量隊列解決異步編程和基于事件編程的庫。提供了幾個管理異步事件的核心概念可觀察量,代表了一個由未來獲取到的值或事件組成的集合。相當(dāng)于事件觸發(fā)器,是向多個廣播事件或推送值的唯一方法。 原文:http://reactivex.io/rxjs/manu... RxJS 是一個使用可觀察量(observable)隊列解決異步編程和基于事件編程的js庫。他提供了一個核心的類型O...
摘要:到底是什么先上代碼輸出這里可以把想象成一個函數(shù),這意味著你每次調(diào)用都會導(dǎo)致傳入里的回調(diào)函數(shù)重新執(zhí)行一次調(diào)用的方式為相當(dāng)于。接收函數(shù)返回值的方式也從改為通過傳入回調(diào)函數(shù)的方式獲取。具體看代碼運行結(jié)果如上的第一個回調(diào)函數(shù)里的結(jié)構(gòu)是推薦的結(jié)構(gòu)。 通俗的方式理解Rx.js 序言 今早看民工叔的文章的時候, 發(fā)現(xiàn)對Rxjs所知甚少, 于是去官方看了下教程, 整理出一些東西, 寫成此文。Rxjs據(jù)...
閱讀 2025·2021-11-15 11:38
閱讀 2058·2019-08-30 15:55
閱讀 2192·2019-08-30 15:52
閱讀 3177·2019-08-30 14:01
閱讀 2693·2019-08-30 12:47
閱讀 1160·2019-08-29 13:17
閱讀 1072·2019-08-26 13:55
閱讀 2640·2019-08-26 13:46