Предупреждение здесь, потому что Future - это низкоуровневый API. Вы должны использовать его для построения асинхронного / ожидающего фасада вокруг существующего кода на основе обратных вызовов. Но если вы пишете код async / await с нуля, в asyncio есть встроенные высокоуровневые API-интерфейсы async / await, которые проще в использовании (и менее подвержены ошибкам).
аюсь понять будущее в Python, читаяPyMotW руководство.
Я спросилвопрос Вчера в комментариях было указано, что:
Более серьезная проблема с руководством заключается в том, что создание и управление необработанными фьючерсами считается плохим стилем в современном асинхронном программировании.
Я пытался найти дополнительную информацию, но самый близкий мне былPython гид о будущем:
Основное правило заключается в том, чтобы никогда не показывать объекты Future в пользовательских API, и рекомендуемый способ создания объекта Future - вызвать loop.create_future (). Таким образом, альтернативные реализации цикла событий могут внедрять свои собственные оптимизированные реализации объекта Future.
Вопрос:
Почему считается плохой практикой создавать и манипулировать фьючерсами? Причины задокументированы где-нибудь?