'How to return two variables from promise DataLoader?
I have a python promise DataLoader object and it is called from GraphQL query as below.
The Loader class;
class ExampleLoader(DataLoader):
def batch_load_fn(self, _):
data = get_data()
return Promise.resolve([data])
example_loader = ExampleLoader()
The GraphQL query;
def resolve_data(self, info, **kwargs):
return example_loader.load('data').then(lambda data: data.demands[getattr(self, 'material_number')])
This works fine.
However, I need to return two variables from the get_data function, and also I need to return those variables from Loader to GraphQL query. So I tried the following solution.
class ExampleLoader(DataLoader):
def batch_load_fn(self, _):
data, error_dict = get_data()
return Promise.resolve([data]), error_dict
example_loader = ExampleLoader()
def resolve_data(self, info, **kwargs):
data, error_dict = example_loader.load('data')
return data.then(lambda data: data.demands[getattr(self, 'material_number')])
But I'm getting There is no current event loop in thread error. How can I get those two variables in my GraphQL query?
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
