Каким образом грекеты асинхронны?

В течение некоторого времени мы использовали библиотеку запросов Python, и недавно у меня возникла необходимость сделать запрос асинхронно, что означает, что я хотел бы отправить HTTP-запрос, продолжить выполнение основного потока и вызвать обратный вызов при возврате запроса ,

Естественно меня привели в библиотеку грекетов (https://github.com/kennethreitz/grequests), но я'Я запутался в поведении. Например:

import grequests

def print_res(res):
    from pprint import pprint
    pprint (vars(res))

req = grequests.get('http://www.codehenge.net/blog', hooks=dict(response=print_res))
res = grequests.map([req])

for i in range(10):
    print i

Приведенный выше код даст следующий вывод:



0
1
2
3
4
5
6
7
8
9

Вызов grequests.map () явно блокируется до тех пор, пока HTTP-ответ не станет доступен. Кажется, вероятно, я неправильно поняласинхронный' поведение здесь, и библиотека grequests просто для одновременного выполнения нескольких HTTP-запросов и отправки всех ответов на один обратный вызов. Это точно?

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

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