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();

我希望这有帮助.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...