据我所知,和之间的区别在于map
等待imap
所有map
请求完成,然后返回有序数据。而imap
立即返回数据并减少订购量。
当我使用:
urls = [...some_data...]
rs = (grequests.get(u,, hooks=dict(response=callback_f)) for u in urls)
r = grequests.map(rs)
所有请求完成后立即使用钩子,并调用回调函数。
当我使用:
urls = [...some_data...]
rs = (grequests.get(u,, hooks=dict(response=callback_f)) for u in urls)
r = grequests.imap(rs)
然后不会发送一个请求。
根据文档 map 和 imap 具有完全相同的 API。
这是预期的行为吗?我不应该在 imap 中使用钩子吗?我正在使用 Python 3.5。