@@ -260,46 +260,29 @@ def connection_resolver(
260260
261261 iterable = resolver (root , info , ** args )
262262
263- if info .is_awaitable (iterable ):
264-
265- async def resolve_connection_async (iterable ):
266- iterable = await iterable
267- if iterable is None :
268- iterable = default_manager
269-
270- iterable = await sync_to_async (queryset_resolver )(
271- connection , iterable , info , args
272- )
273-
274- if info .is_awaitable (iterable ):
275- iterable = await iterable
276-
277- return await sync_to_async (cls .resolve_connection )(
278- connection , args , iterable , max_limit = max_limit
279- )
280-
281- return resolve_connection_async (iterable )
282-
283263 if iterable is None :
284264 iterable = default_manager
285265
266+ iterable = queryset_resolver (connection , iterable , info , args )
267+
268+ return cls .resolve_connection (connection , args , iterable , max_limit = max_limit )
269+
270+ def wrap_resolve (self , parent_resolver ):
286271 try :
287272 get_running_loop ()
288273 except RuntimeError :
289274 pass
290275 else :
291- iterable = sync_to_async (queryset_resolver )(
292- connection , iterable , info , args
293- )
294- return sync_to_async (cls .resolve_connection )(
295- connection , args , iterable , max_limit = max_limit
276+ return partial (
277+ sync_to_async (self .connection_resolver ),
278+ parent_resolver ,
279+ self .connection_type ,
280+ self .get_manager (),
281+ self .get_queryset_resolver (),
282+ self .max_limit ,
283+ self .enforce_first_or_last ,
296284 )
297285
298- iterable = queryset_resolver (connection , iterable , info , args )
299-
300- return cls .resolve_connection (connection , args , iterable , max_limit = max_limit )
301-
302- def wrap_resolve (self , parent_resolver ):
303286 return partial (
304287 self .connection_resolver ,
305288 parent_resolver ,
0 commit comments