以下是我想做的:

Promise.all([aurelia.start(), entityManagerProvider.initialize()])
    .then((results:Array<any>) => {
        let aurelia: any = results[0];
        aurelia.setRoot();
    });

aurelia.start()返回Aurelia类型,而initialize()返回void.

编译器会给出一条错误消息,说明无法从用法推断类型.

我试图实现的是让它们同时运行,因为它们都是非常长的进程,然后运行Aurelia.setRoot();

推荐答案

通常,最好使用类型一致的array.不过,您可以手动执行以下操作(传入泛型参数):

Promise.all<Aurelia, void>(
  [aurelia.start(), entityManagerProvider.initialize()
])
.then(results => {
    let aurelia = results[0];
    aurelia.setRoot();
});

Typescript相关问答推荐

为什么在将条件返回类型的字符串赋给数字时没有类型错误?

返回对象的TypScript构造函数隐式地替换This的值来替换super(.)的任何调用者?

Angular 过滤器形式基于某些条件的数组控制

在泛型类型中对子代执行递归时出错

rxjs forkJoin在错误后不会停止后续请求

对数组或REST参数中的多个函数的S参数进行类型判断

使用动态主体初始化变量

如果字符串文字类型是泛型类型,则用反引号将该类型括起来会中断

Angular 15使用react 式表单在数组内部创建动态表单数组

迭代通过具有泛型值的映射类型记录

TypeScrip:使用Union ToInterval辅助对象,但保留子表达式

如何从一个泛型类型推断多个类型

将布尔值附加到每个对象特性

如何在try 运行独立的文字脚本Angular 项目时修复Visual Studio中的MODULE_NOT_FOUND

如何使函数参数数组不相交?

为什么类型脚本使用接口来声明函数?他的目的是什么.

为什么受歧视的unions 在一种情况下运作良好,但在另一种非常类似的情况下却不起作用?

为什么我会得到一个;并不是所有的代码路径都返回一个值0;switch 中的所有情况何时返回或抛出?(来自vsCode/TypeScript)

Typescript 子类继承的方法允许参数中未定义的键

对象只能使用 Typescript 中另一个对象的键