使用 Typescript 初始化 DataLoader 时出现类型错误
Type error initializing DataLoader with Typescript
我正在尝试使用以下代码初始化 DataLoader 的实例:
const authorLoader = new DataLoader(async (keys:string[]) => {
// Return an author for each book
});
我收到以下错误:
Argument of type '(keys: string[]) => Promise<Author[]>' is not assignable to parameter of type 'BatchLoadFn<string, Author>'.
Types of parameters 'keys' and 'keys' are incompatible.
The type 'readonly string[]' is 'readonly' and cannot be assigned to the mutable type 'string[]'
为什么会出现此错误以及如何解决?我阅读了 Generics
和数据加载器的源代码,但没有找到解决方案。
注意:keys
是 string[]
类型而不是 number[]
,因为我使用的是 uuid
。
如错误消息所述,DataLoader 期望 readonly string[]
作为函数参数,但您已将其注释为 string[]
。
const authorLoader = new DataLoader(async (keys: readonly string[]) => {
// Return an author for each book
});
我正在尝试使用以下代码初始化 DataLoader 的实例:
const authorLoader = new DataLoader(async (keys:string[]) => {
// Return an author for each book
});
我收到以下错误:
Argument of type '(keys: string[]) => Promise<Author[]>' is not assignable to parameter of type 'BatchLoadFn<string, Author>'.
Types of parameters 'keys' and 'keys' are incompatible.
The type 'readonly string[]' is 'readonly' and cannot be assigned to the mutable type 'string[]'
为什么会出现此错误以及如何解决?我阅读了 Generics
和数据加载器的源代码,但没有找到解决方案。
注意:keys
是 string[]
类型而不是 number[]
,因为我使用的是 uuid
。
如错误消息所述,DataLoader 期望 readonly string[]
作为函数参数,但您已将其注释为 string[]
。
const authorLoader = new DataLoader(async (keys: readonly string[]) => {
// Return an author for each book
});