gpt4 book ai didi

arrays - 将数组传递给异步库 eachSeries - 期望 'Dictionary<{}>'

转载 作者:搜寻专家 更新时间:2023-10-30 20:40:52 25 4
gpt4 key购买 nike

我有以下 TypeScript 代码:

const allDescribeBlocks: Array<ITestSuite> = suman.allDescribeBlocks;

async.eachSeries(allDescribeBlocks, function (block: ITestSuite, cb: Function) {

//....

}, cb);

这将带有警告:

Argument of type ITestSuite[] is not assignable to parameter of type Dictionary<{}>. Index signature is missing in ITestSuite[].

如何修复?

这是确切的警告:enter image description here

最佳答案

您是否为异步库安装了最新的类型定义?

npm install --save @types/async

我刚刚检查了他们的来源,它应该接受数组和集合:

export function each<T, E>(arr: T[] | IterableIterator<T>, iterator: AsyncIterator<T, E>, callback?: ErrorCallback<E>): void;
export function each<T, E>(arr: Dictionary<T>, iterator: AsyncIterator<T, E>, callback?: ErrorCallback<E>): void;
export const eachSeries: typeof each;

我想如果你安装类型定义模块并将定义目录添加到你的tsconfig.json使用 "typeRoots": ["node_modules/@types"] ,它应该可以解决问题。

编辑 - 此外,您应该避免 Array<T>简单类型的定义和使用 T[]相反。

关于arrays - 将数组传递给异步库 eachSeries - 期望 'Dictionary<{}>',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44479657/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com