Reactive Programming如何區別於在Event listener(mouse,key)中調用函數,因爲它們都是異步事件流,因此Reactive優於傳統事件偵聽器的優點是什麼?Java -Reactive Programming vs Event Listener
回答
事件聽者實際上只由RxJava提供的功能的一個子集,而這正是它試圖解決的問題:
但是,讓我們備份了幾步,這是比較容易理解的Observable是什麼,如果您將它與Iterator(推或拉)進行比較。
Iterator.next()
相當於Observable.onNext()
- 下一個項目/事件發生時 - 消耗它。
Iterator.hasNext()
相當於Observable.onComplete()
- 它允許發佈者通知訂閱者沒有更多要使用的事件(EventListener模型中缺少一件事)。
對於第三,Observable.onError()
沒有等價的,因爲迭代器,當你試圖讓next()
或remove()
你知道,你可能會得到NoSuchElementException
,UnsupportedOperationException
或IllegalStateException
並且可以捕獲並處理任何人,因爲你同步進行。
對於發佈者來說,如果發生錯誤,沒有辦法通知監聽器/訂閱者然後崩潰。 onError()
是最後缺失的部分,Observable可以對任何錯誤進行優雅處理。
總結一下,Reactive Java來修復長時間缺少事件模型的部分。通過提供這些缺失的部分以及提供函數式編程風格(支持map,flatmap,filter等),它有助於以自然可讀的方式編寫異步調用,從而減少編程風格勢在必行時所需的樣板代碼(例如嵌套 - 環路),並創建了callback-hell。
時,它是如何被複制的,非常感謝,你能建議一些站點來啓動Reactive Programming。 – Jeevanantham 2015-02-11 07:08:49
@ jerith2我的答案中的前兩個鏈接將是一個好開始! – alfasin 2015-02-11 07:16:51
- 1. Swift UITextView Event Listener
- 2. Cant Remove Event Listener
- 3. JMenuItem-adding event listener
- 4. ViewGroup in event listener
- 5. jQuery Event Listener不在監聽
- 6. Quartz vs「Reactive Extensions」
- 7. d3.event vs d3.Event
- 8. IN JAVA PROGRAMMING
- 9. Python中的Functional Reactive Programming的狀態是什麼?
- 10. 在JQuery中使用Google Maps Api Event/Listener
- 11. 當用戶註銷時,SharePoint + Event Listener?
- 12. Windows 8 Javascript App Event Listener問題
- 13. Laravel Broadcasting:Notification vs Event
- 14. 比較Haskell中的Functional Reactive Programming軟件包
- 15. Document Listener inactive Java
- 16. Angular 2 Reactive Forms vs Template Forms
- 17. UIElement.AddHandler()vs .Event + =定義
- 18. Action listener java problems
- 19. Java Exception Listener
- 20. java Field change listener
- 21. Java的Listener接口Scala的
- 22. Marionette Event Aggregator vs Backbone Router
- 23. prolog:logic programming
- 24. Programming fundas
- 25. Event Listener點擊時更改按鈕顏色
- 26. Symfony&Doctrine:使用Event Listener在表中記錄變化
- 27. 什麼EVENT LISTENER應該用於我的Android應用程序
- 28. Laravel Redirect在Event handler/listener中不起作用
- 29. Nhibernate在添加Event Listener後插入時應該更新
- 30. 如何將JavaScript類實例傳遞給DOM Event Listener?
當鏈接的問題是java * script * – LegendLength 2017-07-16 15:34:19