$scope$apply in AngularJS-每次执行的函数是最后定义的函数
$scope.$apply in AngularJS - Function executed each time is the last defined function
如果我在异步HTTP请求的循环中调用下面的代码,我会得到后一个响应。关于我哪里可能出错,有什么建议吗?
注意:这本质上是伪代码。
function successful_request(site) {
console.log('In: ' + site.id);
$scope.$apply(function() { console.log('Out: ' + site.id); }
}
输出:
In: 1
In: 2
In: 3
Out: 3
Out: 3
Out: 3
我希望我在这里讲得有道理。我怀疑这是我如何调用$scope的一个例子$申请,但我不确定我应该采取什么不同的做法。
在我看来,好像您在异步循环范围之外全局声明了变量site
。
当在循环中运行闭包时,这种副作用非常常见,我真的无法从您的示例中判断出来,但您可能需要查看以下链接,看看它是否适用于您的情况。循环中的JavaScript闭包–简单实用的示例
相关文章:
- 用嵌套函数和默认函数定义函数
- 使用Extjs进行函数定义
- JS中奇怪的函数定义语法
- 重写javascript函数定义
- 使用角度图时,我可以用函数定义数据点颜色吗
- modal.js中的匿名函数定义
- 为从AJAX调用中utlizes DATA参数的函数定义回调
- Emacs:在 etag 中查找函数定义
- Javascript:对象函数定义
- 为什么要在函数定义之外引用静态变量(函数属性)
- Ember 对象函数定义中的计算属性.js
- javascript/jQuery中函数定义的区别
- CoffeeScript 承诺与函数定义链接
- 如何在使用 eval() 评估 JavaScript 时将回调函数定义作为参数传递
- Javascript - 为什么下面的函数定义错误
- 使用函数声明时的自定义函数(也称为惰性函数定义)
- JavaScript 函数定义不正确
- jQuery off on 时是用匿名函数定义的
- 停止 IntelliJ 11 在启用 JSLint 时向每个嵌套函数定义添加“use strict”
- 为什么不是't我为这个函数定义的javascript函数