这意味着它可以在执行其他任务时工作。
import asyncio
from datetime import datetime
from aiogram import Bot, Dispatcher, executor, types
API_TOKEN = ''
bot = Bot(token=API_TOKEN)
dp = Dispatcher(bot)
@dp.message_handler(content_types=['text'])
async def text(message: types.Message):
if message.text == 'a':
print(await periodic())
if message.text == 'b':
print('da')
async def periodic():
for i in range(99999):
pass
return await 12
if __name__ == '__main__':
executor.start_polling(dp)当机器人被写入a时,它会运行脚本,但当它立即被写入b时,它不会响应。这个问题的意思是理解如何从一个流启动一个异步流。
发布于 2020-11-19 19:02:31
你应该使用asyncio.create_task()在异步应用程序中运行任务。
示例:
async def say_after(delay, message):
await asyncio.sleep(delay)
await message.reply('С')
@dp.message_handler()
async def text_handler(message: Message):
if message.text== 'A':
await message.reply('B')
elif message.text== 'B':
asyncio.create_task(say_after(10, message))
print('Message processing is done, but the task still working...')https://stackoverflow.com/questions/64864819
复制相似问题