第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

調(diào)度帶有事件循環(huán)參數(shù)的函數(shù)調(diào)用

調(diào)度帶有事件循環(huán)參數(shù)的函數(shù)調(diào)用

瀟湘沐 2023-06-27 13:50:49
您將如何調(diào)用帶有參數(shù)的函數(shù)(在我的代碼中稱為 func)作為 event_loop 的一部分?考慮到這些函數(shù)應(yīng)該在服務(wù)器傳入請求時多次調(diào)用。async def my_func_1(json_message: dict, writer: StreamWriter) -> bool:    return Trueasync def my_func_2(json_message: dict, writer: StreamWriter) -> bool:    return Trueasync def my_func_3(json_message: dict, writer: StreamWriter) -> bool:    return Trueswitcher = {    "Forward": my_func_1,    "Backward": my_func_2,    "Up": my_func_3}async def dispatcher(reader: StreamReader, writer: StreamWriter):    try:        msg = await reader.readline()        message = ujson.decode(msg.decode())    except Exception:        print("unable to parse json from read stream:" + str(msg.decode()))        if "method" in message:        func = switcher.get(message['method'], UnknownMethod)        # how would you invoke func with arguments as part of the event_loop?        # considering these functions should be invoked multiple times.def init():    loop = asyncio.get_event_loop()    coro = asyncio.start_server(dispatcher, '127.0.0.1', 666, loop=loop)    server = loop.run_until_complete(coro)        try:        loop.run_forever()    except KeyboardInterrupt:        pass    # Close the server    server.close()    loop.run_until_complete(server.wait_closed())    loop.close()if __name__ == '__main__':    init()感謝所有的幫助
查看完整描述

1 回答

?
慕工程0101907

TA貢獻1887條經(jīng)驗 獲得超5個贊

根據(jù)我對您問題的理解,答案是簡單地使用所需參數(shù)調(diào)用該函數(shù),就像在任何其他上下文中一樣。


# ...

if "method" in message:

    func = switcher.get(message['method'], UnknownMethod)

    await func(message, writer)

# ...


查看完整回答
反對 回復(fù) 2023-06-27
  • 1 回答
  • 0 關(guān)注
  • 167 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號