javascript – RxJS切换功能

前端之家收集整理的这篇文章主要介绍了javascript – RxJS切换功能前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

有人可以解释一下RxJS中的开关功能吗?
我读了documentation但无法配置它,它是如何工作的.

最佳答案
如果您有可观察的可观察值流,则switch会将嵌套的observable展平为单个可观察值流.它将为您提供外部流生成的最新内部流的值.

举个例子可能更容易.假设您有一个文本框,用于控制从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();

我希望这有帮助.

猜你在找的JavaScript相关文章