首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从数组中创建无限可重复的可观测的

从数组中创建无限可重复的可观测的
EN

Stack Overflow用户
提问于 2014-09-17 14:57:34
回答 2查看 1.6K关注 0票数 4

假设我有一个数组items

我知道我可以从这个数组中创建一个可以观察到的

代码语言:javascript
复制
Rx.Observable.fromArray(items)

我如何创建一个懒惰的无限重复,从中观察到(即:重复的项目,只要他们是被要求的)?

试过

代码语言:javascript
复制
Rx.Observable.fromArray(items).repeat()

但这并不是懒惰地执行,而是锁住了浏览器。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-18 08:23:43

你不能用一个可以观察到的东西来做这件事。您想要查看如何使用可枚举。

反应性扩展的可枚举性称为互动式扩展。

票数 1
EN

Stack Overflow用户

发布于 2016-01-28 20:47:13

我仍然是RxJS的新手,所以我提议的也许是完全的疯狂,但是能不能按照下面的工作来做些什么呢?

代码语言:javascript
复制
var items = [1, 2, 3, 4, 5];

var infiniteSource = Rx.Observable.from(items)
  .map(function (x) { return Rx.Observable.return(x).delay(1000); })
  .concatAll()
  .doWhile(function(_) { return true; /* i.e. never end */ });

infiniteSource.subscribe(function(x) { console.log(x); });

我这里有一个例子:http://ctrlplusb.jsbin.com/sihewo/edit?js,console

为了不淹没控制台,把延迟放进去了。在“直到不再需要的部分”方面,也许可以在doWhile中注入取消订阅或其他机制?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25893983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档