Ошибка типа при инициализации DataLoader с помощью Typescript - PullRequest
0 голосов
/ 27 мая 2020

Я пытаюсь инициализировать экземпляр 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.

1 Ответ

0 голосов
/ 27 мая 2020

Как говорится в сообщении об ошибке, DataLoader ожидает readonly string[] в качестве аргумента функции, но вы отметили его как string[].

const authorLoader = new DataLoader(async (keys: readonly string[]) => {
    // Return an author for each book
});
...