Ich habe eine Ladefunktion, um Köche aus einer Datenbank zu holen. Dieser Loader erhält also ein Array von ids
und was seltsam ist, ist, dass die ids
einen readonly
Typ haben.
Wenn ich versuche, diesen schreibgeschützten Typ an die Datenbankabfrage zu übergeben, wird ein Fehler ausgegeben.
Wie kann ich die Typdefinition korrigieren?
Quellcode: https://github.com/LauraBeatris/graphql-with-nextjs/blob/master/pages/api/loader.ts
Ich habe das laut @ DanielRearden-Kommentar behoben.
Die Funktion, die die DataLoader-Instanz empfängt, verwendet generische Typen, sodass wir einen Typ an das ids
Argument übergeben und ihn dann innerhalb der whereIn
knex-Methode verwenden können.
new DataLoader((ids: string[]) => (
databaseClient
.table("chefs")
.whereIn("id", ids)
.select("*")
.then(rows => ids.map(id => rows.find(row => row.id === id)))
))
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen