当调用具有不同返回类型的多个异步函数时,所有抛出类型错误

By simon at 2019-05-16 • 0人收藏 • 25人看过

我有三种类型:

导出接口 Animal { ... } export 接口 Cat extends Animal { ... } export 接口 Dog extends Animal { ... } export 接口 Iguana extends Animal { ... }

在一个单独的文件中,我定义了3个异步函数,语法如下:

Const task1(()) Promise Cat [] async (){ ... } const task2(() Promise Dog []) async (){ ... } const task3(() Promise Iguana []) async (){ ... } const tasks [ task1,2,task3] ; const runningTasks. map (task ()) ; / / 在行下抛出一个错误 const 结果等待 promised. all (ningruntasks) ;

最后一行由于类型不兼容而抛出一个错误,它非常长,基本上说"Dog is missing properties from Cat"。

我试图做的是简单地异步调用这3个函数并保存它们的结果。

1 个回复 | 最后更新于 2019-05-16
2019-05-16   #1

我试图做的是简单地异步调用这3个函数并保存它们的结果。

你有这样的设置:

1.1.1.2.2.2.2.2.2.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.4.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.4.3.3.3.4.3.3.3.4.3.3.3.3.4.3.3.3.4.3.3.3.4.3.4

一种方法是在我保证像这样

{ const tasks [ task1,task2,task3] ; const runningTasks: Promise Animal [] tasks. map (task ()) ; const results awaighted Promise.all (runningTasks) ; }

登录后方可回帖

Loading...