开发者社区 > 云原生 > Serverless > 正文

函数计算,异步调用成功后怎么获取结果啊?

函数计算,异步调用成功后怎么获取结果啊?

展开
收起
后端老大 2023-08-24 19:36:01 76 0
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    我已经认真阅读了 你的问题:

    【 函数计算,异步调用成功后怎么获取结果啊?

    并思考了

    建议如下:


    import asyncio
    from your_module import your_function
    async def main():

    # 创建异步任务  
    task = asyncio.create_task(your_function(param1, param2, callback_function))  
    
    # 等待任务完成  
    await task  
    
    # 获取结果  
    result = callback_function(task.result)  
    print("异步调用成功,结果为:", result)
    

    设置异步执行

    异步执行:启用
    并发度:根据需要设置并发度

    执行异步任务

    asyncio.run(main())
    复制复制

    import asyncio
    from your_module import your_function
    async def main():

    # 创建异步任务  
    task1 = asyncio.create_task(your_function(param1, param2))  
    task2 = asyncio.create_task(your_function(param3, param4))  
    
    # 使用 asyncio.gather 等待任务完成  
    results = await asyncio.gather(task1, task2)  
    
    # 获取结果  
    result1 = results[0]  
    result2 = results[1]  
    print("异步调用成功,结果为:", result1, result2)
    

    设置异步执行

    异步执行:启用
    并发度:根据需要设置并发度

    执行异步任务

    asyncio.run(main())
    复制复制

    以上两种方法都可以在选择异步调用成功后获取结果。哪种方法取决于您的具体需求和代码结构。

    2023-08-26 16:31:48
    赞同 展开评论 打赏
  • 多看看文档
    https://help.aliyun.com/zh/fc/user-guide/result-callback?spm=a2c4g.11186623.0.0.339371c2zeIC31

    此答案来自钉钉群“阿里函数计算官网客户

    2023-08-24 21:12:11
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
相关产品:

快速交付实现商业价值。

相关产品

  • 函数计算
  • 相关电子书

    更多
    Hologres Serverless之路:揭秘弹性计算组 立即下载
    Serverless开发平台: 让研发效能再提升 立即下载
    Serverless 引领云上研发新范式 立即下载