类型不匹配?“ ...缺少类型中的以下属性...”

zone

我想做2件事情:1:动态导入名称为2的包:声明包的类型(我知道它将返回什么)

type Task = [
  Object, 
  Function
];

const getTasks: Promise<Task[]> = async (names: Array<string>) => {
  const pkgs = names.map(name => import(name) as Promise<Task>);
  return Promise.all(pkgs)
}

错误输出:

Type '(names: string[]) => Promise<[Object, Function][]>' is missing the following properties from type 'Promise<[Object, Function][]>': then, catch, [Symbol.toStringTag], finallyts(2739)
index.ts(55, 35): Did you mean to call this expression?

打字稿:3.3.3

斯宾塞公园

Did you mean to call this expression?错误消息中的,表明函数位于期望值的位置。getTasks被声明为a,Promise但右侧的表达式是一个函数。

根据意图的不同,有2个选项。要么立即调用该函数:

const getTasks: Promise<Task[]> = (async (names: Array<string>) => {
    const pkgs = names.map(name => import(name) as Promise<Task>);
    return Promise.all(pkgs)
})(['package-1', 'package-2']);

或者(如名称getTasks所示)修复类型以反映它getTasks是一个函数:

const getTasks: (names: Array<String>) => Promise<Task[]> = async (names: Array<string>) => {
    const pkgs = names.map(name => import(name) as Promise<Task>);
    return Promise.all(pkgs)
}
// or
const getTasks = async (names: Array<string>): Promise<Task[]> => {
    const pkgs = names.map(name => import(name) as Promise<Task>);
    return Promise.all(pkgs)
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

订阅时返回。...类型“订阅”缺少以下属性

TS类型缺少以下属性

类型“ {}”缺少类型“ IResponseConfig”中的以下属性

与Typescript反应-类型{}缺少类型的以下属性

类型“ Subscription”缺少类型“ Observable <StringMap <any >>”中的以下属性

类型“订阅”缺少以下属性

类型“ ChildNode”缺少类型“ HTMLOptionElement”中的以下属性

缺少类型'Observable <PizzaState>的以下属性

类型'Pagination <UserEntity>'缺少类型'UserEntity'中的以下属性:

错误:“类型'{}'缺少类型的以下属性

错误:类型“ AbstractControl”缺少类型“ FormGroup”中的以下属性:控件,registerControl,addControl,removeControl,

如何修复Typescript中的“以下属性中缺少类型'{}'...”错误?

类型“ {}”缺少类型中的以下属性

类型“ EventTarget”缺少以下属性

“Observable<unknown>”类型缺少“Promise<any>”类型中的以下属性

2739 类型缺少类型中的以下属性

类型“{}”缺少类型“RouteComponentProps<{},,>”中的以下属性

“{}”类型缺少“FooModelDTO”类型中的以下属性

“元素”类型缺少“SVGSVGElement”类型中的以下属性

React ts 类型 'Promise<X>' 缺少类型 'X' 中的以下属性

InferableComponentEnhancerWithProps 类型缺少 Component<OwnProps> 类型中的以下属性

Angular11:“订阅”类型缺少“HomeData”类型中的以下属性:

类型“BrowserRouter”缺少以下属性... - TypeScript

类型“{}”缺少类型中的以下属性 - TS 错误

TypeScript 中的泛型 - 类型不可分配给类型(缺少以下属性)

类型 'Element' 缺少类型 'ButtonProps' 中的以下属性:className、content

“Promise<ConnectionPool> & void”类型缺少“ConnectionPool”类型的以下属性

“Promise<ConnectionPool> & void”类型缺少“ConnectionPool”类型的以下属性

“事件”类型缺少“CronOptions”类型的以下属性