0
在該項目中,有很多模塊。每個模塊可能希望接收其他模塊/模塊發出的數據。Rx在Observable創建之前訂閱
試圖解決的問題是,當我們訂閱一個可觀察的A時,這個可觀察的可能還沒有被創建。爲了解決這個問題,我們討論了兩種方法:
- 有一個可觀察的註冊表單例。每當觀察者準備好時,將一對成對的註冊表,並通知所有模塊,註冊表已更改。每個模塊都將聽取這個通知,並決定它是否是一個感興趣的更改。如果通知觀察者已準備就緒,請訂閱它。如果observable被刪除,更新註冊表,刪除相應的對,並通知模塊,模塊退訂它。
- Rx實施event bus。使用Subject:創建一個單獨的Subject,然後每當需要發送事件或數據或項目時,從該主題發出。在您的訂閱者中,您只能通過對主題進行過濾來訂閱特定事件。
第一種方法看起來非常簡單,我不知道它爲什麼不好。但它對我來說看起來並不可擴展。第二種方法是用Rx替換otto/eventbus的推薦方法。
對這些方法有什麼想法?