【发布时间】:2014-05-13 16:05:52
【问题描述】:
我有一个循环,遍历一个运行带有回调的函数的对象。问题是我希望回调仅在所有项目都经过循环后运行......而不是每次都运行。
$scope.myArray = [];
Object.keys($scope.obj).forEach(function(key) {
var curNode = $scope.obj[key];
if ( curNode ) {
if ( x = 3 ) {
$scope.myArray.push(curNode);
myFunction({
//do something before the callback,
}, myCalback( myArray ) );
}
}
});
$scope.myCallback = function ( arry ) {
//do something ONCE with arry
}
【问题讨论】:
-
if ( x = 3 ) {BOOM -
那么为什么不在forEach之后调用回调呢?
-
在 if(x=3) 之前还有其他不使用回调的条件可以满足
-
你没看到错字吗?你写的是
if(x=3)基本上是if(true),所以每次迭代时if 都是真的。
标签: javascript angularjs loops callback