@Override public Object get(DataFetchingEnvironment environment) { DataLoader<String, Object> dataLoader = environment.getDataLoader("character"); return dataLoader.load("2001"); // R2D2 } };
@Override public Object get(DataFetchingEnvironment environment) { // // Don't DO THIS! // return CompletableFuture.supplyAsync(() -> { String argId = environment.getArgument("id"); DataLoader<String, Object> characterLoader = environment.getDataLoader("characterLoader"); return characterLoader.load(argId); }); } };
@Override public Object get(DataFetchingEnvironment environment) { // // This is OK // String argId = environment.getArgument("id"); DataLoader<String, Object> characterLoader = environment.getDataLoader("characterLoader"); return characterLoader.load(argId); } };
@Override public Object get(DataFetchingEnvironment environment) { StarWarsCharacter starWarsCharacter = environment.getSource(); List<String> friendIds = starWarsCharacter.getFriendIds(); DataLoader<String, Object> dataLoader = environment.getDataLoader("character"); return dataLoader.loadMany(friendIds); } };
DataLoader friendsDataLoader = environment.getDataLoader("friends");
@Override public <K, V> DataLoader<K, V> getDataLoader(String dataLoaderName) { return delegate.getDataLoader(dataLoaderName); } }