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

我不能再将forkjoin与rxjs 5.5一起使用。2.

呼延凌
2023-03-14

最近,我决定将一个使用Angular的“快速启动”从头开始创建的大项目迁移到使用Angular CLI 1.5.5的版本。现在,我正在解决出现的不同问题,我无法解决这个问题。

我读到使用rxjs的可出租操作符更好,我做到了,而且效果很好。但是,我也有以下代码行:

import { Observable } from "rxjs/Observable";
import "rxjs/add/observable/forkjoin";

...

let piecesGrouping$: Observable<IGroupedPiece[]>[] = deliveries.map(delivery => this._pieceService.getGroupedPieces(delivery.pieces));

Observable
  .forkJoin(...piecesGrouping$)
  .subscribe((groups) => {
    groups.forEach((group, i) => deliveries[i].groupedPieces = group);

    resolve();
  });

在使用rxjs 5.4的前一个版本中,它们工作得非常好。3,现在使用rxjs 5.5。2,它们不再存在,我得到以下错误:

错误错误:未捕获(在promise中):TypeError:无法读取未定义TypeError的属性应用:无法读取未定义的属性应用

我试图替换的扩散运算符片段分组$[0],片段分组$[1]作为错误没有说任何关于forkJoin本身,然后我得到:

错误错误:未捕获(promise中):类型错误:WEBPACK\u IMPORTED\u MODULE\u 8\u rxjs\u Observable。a、 forkJoin不是一个函数类型错误:WEBPACK\u IMPORTED\u MODULE\u 8\u rxjs\u Observable。a、 forkJoin不是一个函数

看来我导入forkJoin的方式不对。我试图从“rxjs/observable/forkJoin”中导入它,但也没有成功。

我错过了什么?

共有3个答案

何浩荡
2023-03-14

你应该把它当作一个函数

forkJoin(...piecesGrouping$)
  .subscribe((groups) => {
    groups.forEach((group, i) => deliveries[i].groupedPieces = group);

    resolve();
  });

导入语句更改为

import { forkJoin } from "rxjs/observable/forkJoin";

这是作为5.2版本的一部分发布的。阅读更改日志

燕刚毅
2023-03-14

RxJS 6. x使用此导入

从rxjs导入{forkJoin}

如其他答案所述,它仍然需要作为一个函数使用,因为它现在是独立的。医生来了

端木宏盛
2023-03-14

不要使用可观察的修补,直接使用forkJoin

import {forkJoin} from "rxjs/observable/forkJoin";

forkJoin(...piecesGrouping$).subscribe()

查看此资源以详细了解forkJoin

 类似资料:
  • 我使用Java9.0.4创建了一个javafx项目。代码可以编译和工作。我可以使用内部的SceneBuilder。 但是当我从JFoenix9.0.1库导入元素时,我就不能再使用sceneBuilder了。

  • 我试图用DataJpaTest注释测试我的存储库,但出现了一些奇怪的情况。 当我使用经典的时,一切正常,我的测试成功了。但是当我使用下面的生成器时,我的测试失败了。 测试应该成功,但其他测试没有成功,因为没有抛出关于约束有效性的异常。 例如,这里有一个失败的断言: Java语言AssertionError:预期测试将抛出org的实例。springframework。道。DataIntegrityV

  • 我的application.properties文件中有以下属性。 当我使用注释在spring控制器中使用属性时,它给我的值为2003,但当我通过获得它的值时,我获得的值为 如何使用AbstractenVironment获得值2003?

  • 我正在尝试让web workers启动并运行Vue cli3,但我遇到了麻烦,无法让它正常工作。 我想使用下面的包worker-loader(而不是vue-worker),因为它看起来维护得很好,而且有更多的贡献。 在他们的教程之后,我尝试使用vue cli修改webpack,如下所示: 我希望能和他们的相配 可以在这里阅读(https://github.com/webpack-contrib/w

  • 我试图使用wsgen生成wsdl文件。如果我的webservice类扩展另一个类,我得到一个错误,但如果我删除扩展它的工作。这是错误消息: 另外,wsgen-完整版本: 请注意,我只有在使用Java8时才会出现这个问题。但是当我使用Java7和wsgen版本时,同样的代码可以工作: 下面是更多的细节以及如何复制它:我正在使用Java8,我有三个文件: basewebservice.java: 包w