Javascript 将变量值赋给异步方法

Javascript 将变量值赋给异步方法,javascript,angularjs,Javascript,Angularjs,帮助我,我想将变量值设置为异步方法(数据从db加载),问题是值将设置为最后一条记录。这是我的密码: var _resolve = { lazyLoad: ['$ocLazyLoad', function($ocLazyLoad) { return $ocLazyLoad.load(angular.copy(angular.fromJson(menu.resolve))); }] } 示例数据: > -- one.js > -- two.js >

帮助我,我想将变量值设置为异步方法(数据从db加载),问题是值将设置为最后一条记录。这是我的密码:

var _resolve = {
    lazyLoad: ['$ocLazyLoad', function($ocLazyLoad) {
        return $ocLazyLoad.load(angular.copy(angular.fromJson(menu.resolve)));
    }]
}
示例数据:

> -- one.js
> -- two.js
> -- three.js
根据上面的代码,menu.resolve是数据库中的对象,menu resolve将在所有行中返回“three.js”。如何在每行中设置变量值


谢谢!:)

这是典型的javascript特性,您需要做的是使用一个不确定的闭包来解决这个问题,我将给您举个例子

for(var i=0;i<=2;i++;)
{
             (function(myVar) { // this will hold a value of i
                   $("#someDom").append(myVar)//whatever ur logic should be here
             })(i);
}

for(var i=0;我的意思是您需要解析JSON响应并手动适当地更新DOM。在循环中创建函数是一种糟糕的做法,对那些不了解后果的javascript新手造成了更大的伤害。谢谢!我的问题现在解决了,下面是我更改的代码:state={url:menu.url,title:menu.title,icon:menu.icon,templateUrl:menu.template_url,controller:menu.controller,resolve:ResolverFunc(menu)}我将函数放在循环外部。