问题
I have the following code:
async some_callback(args):
await some_function()
and I need to give it to a Thread as a target:
_thread = threading.Thread(target=some_callback, args=("some text"))
_thread.start()
The issue is that I get the error that "some_callback" is never awaited. Any ideas how can I solve this problem?
回答1:
You can do it by adding function between to execute async:
async def some_callback(args):
await some_function()
def between_callback(args):
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
loop.run_until_complete(some_callback(args))
loop.close()
_thread = threading.Thread(target=between_callback, args=("some text"))
_thread.start()
来源:https://stackoverflow.com/questions/59645272/how-do-i-pass-an-async-function-to-a-thread-target-in-python