Вызов async-функции без await: что окажется в переменной
Разработчик добавил async-функцию и вызвал её из обычного синхронного кода:
async def get_user(user_id):
print("иду в базу")
return {"id": user_id, "name": "Иван"}
result = get_user(1)
print(type(result))
Что произойдёт при выполнении этого фрагмента?
- Напечатает «иду в базу», затем <class 'dict'> — async-функция возвращает значение как обычная
- Ничего не напечатает и упадёт с RuntimeError: async-функцию нельзя вызывать вне event loop
- Напечатает <class 'NoneType'> — результат появится в переменной позже, когда задача завершится
- Напечатает <class 'coroutine'>, строка «иду в базу» не выведется — тело не выполнялось
