Предупреждение здесь, потому что Future - это низкоуровневый API. Вы должны использовать его для построения асинхронного / ожидающего фасада вокруг существующего кода на основе обратных вызовов. Но если вы пишете код async / await с нуля, в asyncio есть встроенные высокоуровневые API-интерфейсы async / await, которые проще в использовании (и менее подвержены ошибкам).

аюсь понять будущее в Python, читаяPyMotW руководство.

Я спросилвопрос Вчера в комментариях было указано, что:

Более серьезная проблема с руководством заключается в том, что создание и управление необработанными фьючерсами считается плохим стилем в современном асинхронном программировании.

Я пытался найти дополнительную информацию, но самый близкий мне былPython гид о будущем:

Основное правило заключается в том, чтобы никогда не показывать объекты Future в пользовательских API, и рекомендуемый способ создания объекта Future - вызвать loop.create_future (). Таким образом, альтернативные реализации цикла событий могут внедрять свои собственные оптимизированные реализации объекта Future.

Вопрос:

Почему считается плохой практикой создавать и манипулировать фьючерсами? Причины задокументированы где-нибудь?

Ответы на вопрос(1)

Ваш ответ на вопрос