我正在使用 aiohttp 創建一個 Web 服務器,這是我用來啟動它的代碼:
loop = asyncio.get_event_loop()
loop.create_task(main())
loop.run_forever()
我正在使用 run_forever 來保持服務器啟動,并且一旦創建就不會關閉它。不幸的是,我現在收到此警告:
/Users/thomas/workspace/eykar/eykache2/eykache/__main__.py:17: DeprecationWarning: There is no current event loop
loop = asyncio.get_event_loop()
根據檔案,我應該考慮使用 asyncio.run,但我不知道如何讓我的程式繼續運行。
uj5u.com熱心網友回復:
run_forever沒有被棄用。使用它沒有任何問題。但是,不推薦使用的是get_event_loop在沒有運行的情況下呼叫并期望它為您創建一個。在未來的某個時候,這將停止這樣做。相反,您需要制作自己的回圈。
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
您也可以將所有這些替換為asyncio.run(main())和while True內部的回圈main。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/448905.html
