作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
问题是关于rx
编程的。我有一个代码:
Observable.from(array)
.map(array_item1 -> array_item2)
.map(array_item3 -> array_item4)
.map(array_item5 -> array_item6)
在第三个 map
调用中,我不仅需要访问 array_item5
,还需要访问 array_item1
或 array_item3
。它应该是这样的:
...
.map(array_item5 -> array_item5 + array_item1)
...
是否有任何特殊的模式或运算符?
最佳答案
如果您想访问以前的排放量,您需要将它们保存在某个地方。有累加器运算符:
收集 - 收集单个可变结构中的所有排放量
Observable.from(Arrays.asList(1,2,3,4,5,6))
.collect(ArrayList::new,
(array, item) -> {
//access previous and current emissions
array.add(item);
})
扫描 - 除了收集之外,它还会在接下来的每个上返回所有先前的排放:
Observable.from(Arrays.asList(1,2,3,4,5,6))
.scan(new ArrayList<>(), (array, item) -> {
array.add(item)
return array;
})
.map(collectedItems -> {
//access all previous and curent emissions on every new
return collectedItems;
})
关于java - 如何访问 rx 中先前发射的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35761367/
我的应用将 SceneKit 内容的“页面”与图像和文本交替。当我从图像页面前进到新的 SceneKit 页面时,前一个 SceneKit 页面中的内容会短暂显示,然后被新内容替换。时髦。 我只使用一
我正在尝试处理(在 C# 中)包含一些数字数据的大型数据文件。给定一个整数数组,如何对其进行拆分/分组,以便如果下一个 n(两个或更多)是负数,则前一个 n 元素被分组。例如,在下面的数组中,应该使用
刚接触promises,研究过。所以我的代码和我的理解: sql.connect(config).then(function(connection) { return connection.req
目前我在 if (roobaf) block 中有一些代码,这取决于 foo 和 bar 是否为假。我可以在 block 内再次检查这些条件,但感觉像是不必要的代码重复。 if (foo) {
我是一名优秀的程序员,十分优秀!