rxjs中最頭疼的莫非取消訂閱的問題,其頭疼程度不下於removeeventlistener。本文試圖**分析rxjs中取消訂閱的幾種方式,並做對比優劣分析及應用場景。
邏輯簡單,需要額外引入變數儲存,**量大和維護難!
let sub = this.props$.subscribe();
// 當登出時取消訂閱
sub.unsubscribe();
複製**
takeuntil 訂閱並開始映象源 observable 。它還監視另外乙個 observable,即你 提供的 notifier 。如果 notifier 發出值或 complete 通知,那麼輸出 observable 停止映象源 observable ,然後完成。takewhile 發出在源 observable 中滿足 predicate 函式的每個值,並且一旦出現不滿足 predicate 的值就立即完成。
props$.pipe(
takeuntil(res=>end$)
).subscribe()
//當登出事end$發射事件
end$.next().
複製**
簡單容易維護,不適合複雜場景
let sub = observable.create((subscriber)=>);
// 登出時
this.subscriber.complete();
複製**
complete 和 error 觸發後,unsubscribe 也會自動呼叫當 next、complete和error 出現異常時,unsubscribe 也會自動呼叫以保證資源不會浪費
next、complete和error是可選的。按需處理即可,不必全部處理
我也是剛開始學習研究這塊,有在研究的可以討論一下!
如何優雅的送禮?
送禮的尺度要以法律規定和公司制度為紅線,在職場上,肯定不能送重禮,否則可能成為商業賄賂。很多國際化的公司都有明確的送禮和收禮規定,不能超過幾百元。牢記這一條,你就會發現有創意是多麼的重要,因為你的預算空間實在很小。送禮這件事,從策劃選禮物到對方接收到禮物是乙個操作過程,最重要的是送禮時刻。其實對於有...
如何優雅的使用「看板」?
你需要通過看板達到什麼目的 看板三原則 1.使工作視覺化,給每人乙個專案目前的big picture。2.減少並行工作。乙個user story的生命週期被切分成較小的塊,每個人應該keep在其中一塊。3.優化工作流程。在實踐中不斷迭代看板的流程,增減某些階段,或調整從乙個階段跳轉到下乙個階段的邊界...
如何優雅的使用rem
移動端css做布局的時候,如何選擇px em rem這幾個單位呢?很多初做移動端的童鞋們,不知道如何用px em 還是用rem做移動端的布局,那就舉例說一下 如果使用 作為單位的話,在iphone4上多少會有些布局錯位,那用rem就解決了這個難題。document.documentelement.s...