3
有人能解釋一下RxJS的開關功能嗎?
我讀了documentation,但無法配置它,它是如何工作的。RxJS開關功能
有人能解釋一下RxJS的開關功能嗎?
我讀了documentation,但無法配置它,它是如何工作的。RxJS開關功能
如果您有可觀察的可觀察值流,則切換會將該嵌套可觀察值平滑爲單個可觀察值流。它將爲您提供來自外部流最近產生的內部流的值。
這可能是一個例子更容易。假設你有一個文本框來控制你從AJAX查詢中收到的數據。讓我們把這個文本框稱爲頁碼。您的目標是顯示用戶輸入到文本框中的頁面的AJAX查詢結果。您可以使用switch
來構建數據可觀察到的數據流:
function getPageData(pageNumber) {
// return the ajax query for this page
return $.ajax("/url?page=" + pageNumber));
}
var pageNumberValue = // some observable of the page number values coming from the text box
// this will be an observable of observables of the page data
var dataStreamOfStreams = pageNumberValue
.map(pageNumber => getPageData(pageNumber);
// everytime you change pages, this will "switch" to the new ajax call
// and return the results from that new call.
var dataStream = dataStreamOfStreams.switch();
我希望這有助於。