gpt4 book ai didi

python - imap 与 grequests 库中的 map

转载 作者:太空狗 更新时间:2023-10-30 00:05:28 28 4
gpt4 key购买 nike

据我所知mapimap的区别是map等待所有请求完成然后返回有序数据.而 imap 立即返回数据并减少排序。

当我使用时:

urls = [...some_data...]
rs = (grequests.get(u,, hooks=dict(response=callback_f)) for u in urls)
r = grequests.map(rs)

一旦所有请求完成,就会使用钩子(Hook),并调用回调函数。

当我使用时:

urls = [...some_data...]
rs = (grequests.get(u,, hooks=dict(response=callback_f)) for u in urls)
r = grequests.imap(rs)

然后没有发送一个请求。

根据文档,map 和 imap 具有完全相同的 API。

这是预期的行为吗?我不应该在 imap 上使用 hooks 吗?我正在使用 Python 3.5。

最佳答案

As far as I know the difference between map and imap is that map waits for all requests to finish and then returns the ordered data. Whereas imap returns data immediately and order less.

这不是真的。 map 立即执行所有请求并返回结果(这可能需要一段时间,所以这就是为什么您可能会说“等待所有请求完成”)。

但是 imap 返回一个生成器并根据需要 执行请求。因此,您必须在发送请求之前开始遍历生成器。遍历生成器以获得结果:

for single_request in r:
# so something with "single_request"

关于python - imap 与 grequests 库中的 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41947557/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com