为什么被迭代的对象要通过回调传递回
Why is the object being iterated passed back through the callback?
这是一个由uncore封装到函数中的常见习惯用法。
_.each(obj1, function(val, key, context, obj2){
});
回调函数第四个参数obj2
的目的是什么?这是要循环遍历的对象,因此它应该始终在外部作用域中作为obj1
可用。
是否有需要通过obj2
访问obj1
的例子?
我想了解obj2
是什么。下面是确切的代码行——第83行。
if (iterator.call(context, obj[i], i, obj) === breaker) return;
如果您将引用传递给命名函数作为回调,obj1
可能不可用:
function my_callback(val, key, context, obj2) {
...
}
function do_stuff() {
var obj1 = ...
_.each(obj1, my_callback);
}
回调函数第四个参数
obj2
的目的是什么?这是要循环遍历的对象,因此它应该始终在外部作用域中可用,如obj1
。
这样您就可以重用相同的函数来循环遍历多个对象,并且仍然可以访问函数内迭代的对象。您使用的函数很可能在其他地方定义。您可以有一个用于各种迭代目的的函数库。很少想知道对象是什么(因此它到目前为止在参数列表中),但也有用例。
相关文章:
- 在es6中,将带有回调的事件侦听器设置为可迭代的
- 迭代、JSON和JS中的回调
- jquery 在每次()迭代后回调
- 如何验证for循环是否完成了node js中的所有迭代,循环是否包含带回调的函数调用
- 循环中的Node.js回调具有错误的迭代器值
- 防止使用迭代的 JavaScript 中的嵌套回调
- Node.js:异步嵌套回调在for循环的每个迭代中都不起作用
- 如何知道回调循环的哪一次迭代以及何时执行
- 如何使用Lo-dash在_.filter的回调函数中迭代数组
- Javascript-如何在带有回调的for循环中使用迭代器
- 我得到了错误“返回绑定”.PBKDF2(密码、盐、迭代、keylen、回调);^ TypeError: Not a bu
- 由生成器内部使用的迭代器回调产生
- 如何将PHP字符串中的值回显到循环的不同迭代中
- 迭代期间的回调范围
- 为什么被迭代的对象要通过回调传递回
- 调用内部异步回调后迭代for循环
- 在forEach迭代数组后发送响应(使用回调?)
- Node.js async.each()回调在所有迭代完成之前被调用
- 如何在JS的回调迭代中显示不同的内容
- 将循环迭代器值绑定到Javascript中的回调函数