Javascript也是一种功能编程语言。您在这里拥有的是“高阶函数”,该函数将函数作为参数。高阶函数是同步的(但请参见下面的注释)。
资料来源:
- 功能编程
- Javascript中的高阶函数
map()是高阶函数的典型示例。它接受一个函数并将其应用于数组的所有元素。这个定义听起来很“实用”。Node也未提供此功能。它由MDN
Array.prototype.map()记录,并由ECMAscript
5.1指定。
要回答您的问题:是,在应用所有元素 之后*doSomething(nodeIDs)
将调用。 *
注意:
高阶函数是功能编程的概念。Javascript是功能性的,但在浏览器内部或服务器上执行代码的实用性方面也深深扎根。我要说的是,
setTimeout()即使它以函数作为参数,
setTimeout()也不是一个高阶函数,因为它不是真正的纯函数,因为它使用时间。纯功能是永恒的。例如,的结果
map()不依赖于时间。这就是这个问题的实质所在。如果某些事情不依赖于时间,则可以同步执行它。问题解决了。
感谢Simon挑战Javascript中高阶函数的定义。



