2016-05-25 20 views

回答

1

defer需要一個參數函數,它返回一個可觀察值。運營商本身也會像大多數運營商一樣返回可觀察的數據。當 observable訂閱時,它將執行參數函數,獲取函數返回的observable並訂閱該observable,並將該observable的值傳遞給該流。

當您希望將函數返回的observable的創建推遲到defer訂閱時間時,這很有用。在你的例子中,defer並沒有帶來太多的價值,但是當你有一個回調執行一些API調用並且返回一個observable/promise但你不想立刻執行API調用的時候,它是很有用的。

示例比許多單詞好,您會在SO上找到類似問題中的一些,例如RxJS and React's setState - delay function execution until subscription,How to start second observable *only* after first is *completely* done in rxjsRx.js wait for callback to complete

相關問題