迭代器与迭代器

jus*_*tin 3 computer-science async.js

这个差异显着吗?是吗:

\n\n
    \n
  • 迭代器 = 迭代一组数据结构的某种抽象
  • \n
  • iteratee = 被迭代的实际数据结构
  • \n
\n\n

我正在阅读async的文档,并看到到处都有“iteratee”的使用。好吧,它不执行实际的迭代,因此迭代器不是它的正确名称。但根据我对上面“iteratee”的理解,它也不应该是一个函数(在我看来,iteratee = 数据结构 - 如果有的话,迭代器就是执行迭代的函数)。

\n\n

如果您不熟悉asynciteratee:它是一个带有 2 个参数的函数,您要迭代的集合中的下一个值,以及一个带有错误值和结果值的函数。您应该在 iteratee 中执行异步操作,然后使用错误或结果调用它的第二个参数(函数(err,结果))。

\n\n

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

\n\n

只是好奇:“iteratee”这个名字正确吗?

\n

meg*_*wac 5

迭代器调用迭代器,在本例中是回调。在异步中,如果我们将迭代器命名为回调,则会令人困惑,因为大多数迭代器都会传递回调来指示完成。

对于一些背景,这里讨论了 async.js 问题,这也是我们在 lodash 和 underscore 中指定迭代器回调的方式。这个下划线线程是三个库更改的基础。