迁移到 Angular 9 后,Angular 异步 Schematics 停止工作:规则不能再返回 Tree 或 Observable<Tree>

问题描述

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

我的代码是这样的:

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。现在我收到以下错误

类型 '(tree: Tree) => Observable' 不可分配给类型 '规则'。 'Observable' 类型不可分配给类型 'void |树 |规则 |可观察 |承诺'.

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

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...