【发布时间】:2016-01-14 06:37:50
【问题描述】:
在下面的代码中,forEach 循环使用了回调函数来遍历返回的结果。 forEach 循环中的变量“错误”和回调中的“错误”变量是否相同?
session.getAll(options, function (error, varbinds) {
varbinds.forEach(function (vb) {
if (error)
console.log('getALL Fail ');
else
console.log(vb.value);
});
});
【问题讨论】:
-
除非内部函数范围引入了新的“错误”变量,否则都是一样的。
-
您没有定义任何其他
error变量,所以答案是是。 -
正如其他人所说,如果没有在循环中使用
var重新定义它,但是forEach循环不能被中止。因此,在进入循环之前,应该在回调中检查错误。如果出于某种原因需要检查循环,则应使用不同的循环方法。 -
@irom 我意识到这已经有几年的历史了,但我刚刚得到了一个赞成票,当我检查它时,我在这里看到没有接受的答案。我们是否设法提供足够的帮助来检查这一点?
标签: javascript scope