迭代器v.s。重复

Iterator v.s. iteratee

这种差异显着吗?是吗:

我正在通读 async 的文档,看到 "iteratee" 的使用无处不在。好吧,它不执行实际的迭代,所以迭代器不是它的正确名称。但根据我对上面 "iteratee" 的理解,它也不应该是一个函数(在我看来,iteratee = 数据结构——如果有的话,iterator 就是进行迭代的函数)。

如果您不熟悉 async 的迭代对象:它是一个接受 2 个参数的函数,您正在迭代的集合中的下一个值,以及一个接受错误值和结果值。你打算在迭代器中做一些异步的事情,然后用错误或结果调用它的第二个参数(函数(错误,结果))。

(然后您将另一个回调作为参数(除了 iteratee)提供给您正在执行的任何操作(映射、过滤器等),以处理在所有初始操作中调用 iteratee 中的异步操作的结果集合的元素)。

只是好奇:"iteratee" 是这个的正确名称吗?

迭代器调用迭代器,在本例中为回调。在异步中,如果我们将迭代器命名为回调,将会造成混淆,因为大多数迭代器都会传递回调来指示完成。

这里的一些背景是async.js issue where this was discussed and it's also the way we specify the iterator callbacks in lodash and underscore. This underscore thread是三个库变化的基础。