graphql-java / graphql-java/java-dataloader
composing dataloaders
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Java
- Sterne
- 525
- Forks
- 101
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
Hi,
I have a datafetcher where I use 2 dataloaders in sequence: the first to translate from 1 ID to another, the second to fetch data corresponding to the second ID.
loader1.load(id1).thenCompose(id2 -> loader2.load(id2))
This hangs because dispatchAll() is not called again after loader1 completes.
I can work around that by adding that call inside the thenCompose() lambda but then it is called for every id2 which is ugly at the very least.
Is there a better way of doing this?
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Es wird keine Quelldatei und kein Test genannt. Beginne damit, den Lebenszyklus von dispatchAll für das Beispiel loader1.load(id1).thenCompose(...) des sequenziellen Loaders nachzuverfolgen, und untersuche anschließend, wie verschachtelte Loads weitergeleitet werden sollen. Als erledigt gilt die Aufgabe, wenn sequenzielle Dataloader ohne Hängenbleiben abgeschlossen werden und das Batching keinen dispatch-Aufruf pro ID erfordert.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- graphql, java
- Bereich
- backend-api-design
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 30/100