1

我正在尝试使用以下代码初始化 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's.

4

1 回答 1

1

就像错误消息所说,DataLoader 期望 areadonly string[]作为函数参数,但您已将其注释为string[].

const authorLoader = new DataLoader(async (keys: readonly string[]) => {
    // Return an author for each book
});
于 2020-05-27T20:21:18.460 回答