当前位置: 首页 > 知识库问答 >
问题:

困难与RxJS返回值和留档,数组和系列项目之间的转换

锺离玮
2023-03-14

我是一个初学者,使用RxJS和Angular完成基本示例。我正在使用:

RXJS 5.5.6角5.2.0

我得到以下错误:

error TS2339: Property 'do' does not exist on type 'number[]'.

来自以下代码,该代码在数组和一系列项之间来回转换。我正在尝试插入mergeAll来代替mergeMap,它按照预期编译并转换数组。我希望mergeAll根据文档返回一个可观察的对象,而不必强制转换,特别是因为mergeMap是基于mergeAll的。

this.notWorking().subscribe();

notWorking(): Observable<any> {
    return Observable.from([[1, 2, 3, 4]])
        .do(obj => console.log(obj))
        // .mergeMap(val => val)
        .mergeAll()
        .do(obj => console.log(obj))
        .toArray()
        .do(obj => console.log(obj))
}

在ReactiveX RxJS的文档中,它仅显示mergeAll的返回值Observable。我是否正在查看正确的文档?我对RxJS的一些基本知识还不了解吗?

公共合并所有(并发:编号):可观察

将高阶可观测数据转换为一阶可观测数据,同时提供内部可观测数据上发出的所有值。

反应式RxJS合并所有文档

如果情况是它正在返回一个迭代,并且这是有意的,那么链可观察运算符的最佳实践是什么?我必须在每个链之间施法还是创建一个可观察的?这对我来说没有意义,我希望我只是做错了什么。

共有1个答案

梅安平
2023-03-14

这是RxJS 5.5中mergeAllconcatAll的打字中的一个已知问题,将在RxJS 6中修复。

有关更多详细信息,请参阅:https://github.com/ReactiveX/rxjs/issues/2759

因此,现在推荐的方法是真正使用您在中所做的操作。合并地图(val)=

 类似资料:
  • 我有一条可以观察到的溪流。第一个运算符是一个mergeMap,它返回一个可观察的数组。然后,我必须有第二个mergeMap从第一个mergeMap的返回中获取最终值。我觉得这第二个合并映射应该是不必要的,但找不到绕过它的方法。 例子: 这最终是我所拥有的。第二个mergeMap只存在于订阅第一个的输出。没有它,我的输出是可观察的(即(1)的

  • 我正在尝试用Java编写一个函数,它接受两个数组,并对数组1中的索引值求和,其中的值与数组2匹配,例如。 数组1={15、6、99、12、35} 数组2={1,12,7,99,35} 匹配“Array1[索引]”值=2(99)、3(12)、4(35) 因此,返回9(2 3 4) 我建议使用以下方法进行此操作: 但是如果Array2中有一个不匹配的值,我也想返回-1。所以在上面的情况下,1和7不在A

  • 问题内容: 在Go中,有多种方法可以返回值或其片段。对于个人,我已经看到: 我了解两者之间的区别。第一个返回该结构的副本,第二个返回指向在函数内创建的结构值的指针,第三个期望传入现有结构并覆盖该值。 我已经看到所有这些模式都可以在各种情况下使用,我想知道关于这些的最佳实践是什么。什么时候使用?例如,第一个可能适用于小型结构(因为开销很小),第二个适用于较大的结构。第三,如果您想提高存储效率,因为您

  • 在Go中,有多种方法可以返回< code>struct值或其片段。对于我见过的个别例子: 我理解它们之间的区别。第一个返回结构的副本,第二个是指向在函数中创建的结构值的指针,第三个期望传入现有结构并覆盖该值。 我看到所有这些模式都在不同的环境中使用,我想知道关于这些模式的最佳实践是什么。你什么时候用?例如,第一个可以用于小结构(因为开销最小),第二个可以用于大结构。第三,如果你想非常节省内存,因为

  • 问题内容: Java中的List和Array有什么区别?或Array和Vector之间的区别! 问题答案: 通常(在Java中),数组是一种数据结构,通常由存储对象集合的顺序存储器组成。 是Java中的接口,这意味着它可能具有多种实现。这些实现之一是,这是一个使用数组作为数据结构来实现接口行为的类。 还有许多其他实现该接口的类。查看它们的一种简单方法是查看以下位置的Javadoc :http :

  • 可能重复: 原始数组与ArrayList 在java中,列表和数组有什么区别?或数组和矢量之间的区别!