首页 > 解决方案 > Angular 异步 Schematics 在迁移到 Angular 9 后停止工作:规则无法返回 Tree 或 Observable不再

问题描述

我有一个函数能够调用服务并使用来自服务的结果数据对象响应来生成与该端点交互所需的 CRUD 代码。所以我创建了一个异步原理图,它将调用一个服务,等待该服务响应,然后在我们准备好时继续。

我的代码是这样的:

function waitingRule(options: any): Rule {
  return (tree: Tree) => {
    return new Observable<Tree>((observer) => {
      fetch('someUrl.com/') // any async operation
        .then(res => res.json())
        .then(data => {
          observer.next(tree);
          observer.complete();
        })
        .catch(((err: any) => {
          observer.error(err);
        });
    });
  };
}

在我升级到 Angular 9 之前,它运行良好。现在我收到以下错误:

类型“(树:树)=> Observable”不可分配给类型“规则”。类型 'Observable' 不可分配给类型 'void | 树 | 规则 | 可观察 | 承诺<无效 | 规则>'。

在以前的版本中,规则可以返回 Tree 或 Observable,但似乎在最新版本中这是不可能的。知道如何使它再次工作吗?

标签: angularangular-schematics

解决方案


推荐阅读