Skip to content

Commit 7746fa2

Browse files
committed
Improved async GraphQL execution. Fixed #112
1 parent cea224a commit 7746fa2

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

graphql/graphql.py

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -32,17 +32,15 @@
3232

3333
def graphql(*args, **kwargs):
3434
return_promise = kwargs.get('return_promise', False)
35-
promise_result = graphql_impl(*args, **kwargs)
36-
if not return_promise:
37-
return promise_result.get()
35+
if return_promise:
36+
return execute_graphql_as_promise(*args, **kwargs)
37+
else:
38+
return execute_graphql(*args, **kwargs)
3839

39-
return promise_result
4040

41-
42-
@promisify
43-
def graphql_impl(schema, request_string='', root_value=None, context_value=None,
44-
variable_values=None, operation_name=None, executor=None,
45-
return_promise=False, middleware=None):
41+
def execute_graphql(schema, request_string='', root_value=None, context_value=None,
42+
variable_values=None, operation_name=None, executor=None,
43+
return_promise=False, middleware=None):
4644
try:
4745
if isinstance(request_string, Document):
4846
ast = request_string
@@ -71,3 +69,8 @@ def graphql_impl(schema, request_string='', root_value=None, context_value=None,
7169
errors=[e],
7270
invalid=True,
7371
)
72+
73+
74+
@promisify
75+
def execute_graphql_as_promise(*args, **kwargs):
76+
return execute_graphql(*args, **kwargs)

0 commit comments

Comments
 (0)