代码之家  ›  专栏  ›  技术社区  ›  jdhao

对运行异步函数的函数的多次调用:在哪里放置事件循环?

  •  0
  • jdhao  · 技术社区  · 5 年前

     import asyncio
    
     async def add(x):
         return x + 1
    
    
     def my_func(nums):
         loop = asyncio.get_event_loop()   # where should I put this statement?
         res = loop.run_until_complete(
             asyncio.gather(*[add(x) for x in nums]))
    
         return res
    
    
     def main():
         batch1 = [1, 2, 3]
         batch2 = [4, 5, 6]
    
         print(my_func(batch1))
         print(my_func(batch2))
    
    
     if __name__ == "__main__":
         main()
    

    我的问题是我应该把声明放在哪里 loop = asyncio.get_event_loop() . 我应该放进去吗 my_func 或者把它放在全局级别,使其成为全局变量,例如,把它放在下面 import asyncio

    什么是最佳实践?

    0 回复  |  直到 5 年前