Python 3.5 представил сопрограммы с синтаксисом async и await. Подробности об этом можно прочитать в PEP 492 .
Есть ли планы поддержать это? Из-за задержек в сети или медленных подключений имеет смысл делать асинхронные HTTP-запросы.
@screendriver В настоящее время нет планов по поддержке async и await. Это не потому, что это плохая идея: это так. Это потому, что для их использования требуются довольно существенные изменения кода.
В настоящий момент запросы - это чисто синхронная библиотека, которая в нижней части своего стека использует httplib
для отправки и получения данных. Мы не можем перейти к асинхронной модели, если не заменим httplib. Лучшее, что мы могли сделать, - это предоставить сокращение для выполнения запроса в потоке, но asyncio уже имеет такое сокращение, поэтому я не думаю, что это будет полезно.
Прямо сейчас я спокойно смотрю, можем ли мы переписать запросы, чтобы они работали так же хорошо в синхронной среде, как и в асинхронной. Однако реальность такова, что это потребует много работы, включая переписывание большого количества нашего стека, и может не произойти в течение многих лет, если вообще когда-либо.
Самый полезный комментарий
@screendriver В настоящее время нет планов по поддержке async и await. Это не потому, что это плохая идея: это так. Это потому, что для их использования требуются довольно существенные изменения кода.
В настоящий момент запросы - это чисто синхронная библиотека, которая в нижней части своего стека использует
httplib
для отправки и получения данных. Мы не можем перейти к асинхронной модели, если не заменим httplib. Лучшее, что мы могли сделать, - это предоставить сокращение для выполнения запроса в потоке, но asyncio уже имеет такое сокращение, поэтому я не думаю, что это будет полезно.Прямо сейчас я спокойно смотрю, можем ли мы переписать запросы, чтобы они работали так же хорошо в синхронной среде, как и в асинхронной. Однако реальность такова, что это потребует много работы, включая переписывание большого количества нашего стека, и может не произойти в течение многих лет, если вообще когда-либо.