如何阻塞异步函数,让其全部完成后,主函数再return
import threading
def download_history_data2(stock_list, period, start_time='', end_time='', callback=None, incrementally=None):
    client = get_client()
    
    # 创建一个 Event 对象,用于阻塞直到 supply_history_data2 完成
    event = threading.Event()
    # 定义回调函数,当 download 完成时触发
    def on_complete(result):
        if callback:
            callback(result)
        # 设置事件,解除阻塞
        event.set()
    # 调用 supply_history_data2,并传入回调函数
    client.supply_history_data2(stock_list, period, start_time, end_time, bson.BSON.encode(param), on_complete)
    # 阻塞,直到事件被设置,表示下载完成
    event.wait()
    # 一旦事件被触发,说明下载已完成,返回结果
    return '下载完成'
 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号