回调外循环,闭环内循环,以及''同步''事件

时间:2014-06-21 22:48:16

标签: javascript

您好我有一个同步调用的回调(即我知道顺序),只是等待调用callbcak

.someCallback(function () {
    var abc = ['a', 'b', 'c'];
    for (var i = 0; i < 3; i++) {
        //closure
        var outer = function (ii) {
                alert(ii);
                var inner = function (ii) {
                    return abc[ii];
                }
                return inner(ii);
            } //closure
        return outer(i);
    }); //close loop
});

我没有使用任何框架,只是原始.js;我无法访问此回调之外的代码。

问题是return outer(i)时丢失内部变量;不能越过i = 0,或者在调用outer(i)

时经历循环

如何做到这一点。

1 个答案:

答案 0 :(得分:1)

在这里,不是很干净,但有效:

var i = 0
.someCallback(function() {
     var abc = ['a','b','c']
     //closure
     var outer = function(ii){
         alert(ii)  
         var inner = function(ii){
              return abc[ii];
            } 
     return inner(ii);
     }//closure
     i += 1
     return outer(i-1)
});//close function and call

希望这有帮助!