RxJS using

2020-10-13 18:53 更新

創(chuàng)建一個使用資源的 Observable,該資源將與 Observable 同時處理。

using<T>(resourceFactory: () => void |Unsubscribable, observableFactory: (resource: void | Unsubscribable) => any): Observable<T>

參量

resourceFactory 創(chuàng)建任何資源對象的函數(shù) 實現(xiàn) unsubscribe方法。
observableFactory 一個功能  創(chuàng)建一個 Observable,可以使用注入的資源對象。

returns

Observable<T>:行為與所返回的 Observable 相同的 Observable observableFactory,但 當(dāng)完成,出錯或取消訂閱時,它們也會調(diào)用 unsubscribe創(chuàng)建的資源對象。

描述

當(dāng)您在觀察到的情況下開始清理時,請使用它。

using是工廠操作員,它接受兩種功能。 第一個函數(shù)返回一個一次性資源。 它可以是實現(xiàn) 的任意對象 unsubscribe方法 。 第二個功能將被注入 該對象,并應(yīng)返回一個 Observable。 該 Observable 可以在其執(zhí)行期間使用資源對象。 傳遞給這兩個函數(shù)的函數(shù) using每當(dāng)有人訂閱時, 都會被調(diào)用-既不是 Observable 也不是Observable 訂閱之間將以任何方式共享資源對象。

由返回的 using訂閱 Observable時,將從第二個函數(shù)返回的 Observable 進(jìn)行訂閱 也一樣 其所有通知(下一個值,完成和錯誤事件)將由輸出不變地發(fā)出 可觀察的。 但是,如果有人取消訂閱 Observable 或來源 Observable 本身的完成或錯誤, 的 unsubscribe資源對象上 方法將被調(diào)用。 這可以用來進(jìn)行任何必要的清理, 否則必須手動處理。 請注意,當(dāng)有人進(jìn)行操作時,不會發(fā)出完整或錯誤通知 通過取消對 Observable 的訂閱 unsubscribe,因此 using可以用作掛鉤,使您能夠 確保在可觀察的執(zhí)行過程中需要存在的所有資源將在適當(dāng)?shù)臅r間被處置。

也可以看看

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號