Interesting, but wouldn't it be simpler to provide a helper so that
you can write

  result = wait(my_function())

for the synchronous version and

  result = await my_function()

for the async version?

On Thu, Sep 29, 2016 at 3:10 PM, James Stidard <jamesstid...@gmail.com> wrote:
> Hi,
>
> I just joined this mailing list, but not overly sure if it’s the right place
> for this discussion or now - please tell me to quite down and go away if so
> :). But if you’d be so kind as to point me in the right direction that would
> also be good.
>
> I’m currently building a library which has an asynchronous interface and I
> wanted to make it also be callable serially - handy for users of the library
> not using coroutines, as well as just using in the REPL. I didn’t want to
> maintain two implementations of essentially the same functions (one with
> awaits and ones without); I just wanted to run the async function on pythons
> current loop. I also wanted to present the interface in a consistent way
> without the need to prefix or suffix ‘async’ into the function name. e.g.
>
> result = my_function(asynchronous=False)
> result = await my_function(asynchronous=True)
>
> I didn’t think this would be possible but I think I managed it. I just want
> to sanity check this because I think it’s pretty cool if it works.  I’ve
> attached the code I wrote to test it. The assumption I’ve made is about
> get_event_loop making sense for just picking the current python thread of
> execution. Any thoughts?
>
> If attachments aren’t supported, here’s a gist:
> https://gist.github.com/JamesStidard/3317969472f4b3fc938a4ab29c5e1ecf
>
> Thanks,
> James
>
> _______________________________________________
> Async-sig mailing list
> Async-sig@python.org
> https://mail.python.org/mailman/listinfo/async-sig
> Code of Conduct: https://www.python.org/psf/codeofconduct/



-- 
--Guido van Rossum (python.org/~guido)
_______________________________________________
Async-sig mailing list
Async-sig@python.org
https://mail.python.org/mailman/listinfo/async-sig
Code of Conduct: https://www.python.org/psf/codeofconduct/

Reply via email to