1

如果我在异步 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.$apply 但我不确定我应该做些什么不同的情况。

4

2 回答 2

1

在我看来,好像您在site全局/异步循环范围之外声明了变量。

于 2013-08-12T15:24:48.030 回答
0

在循环内运行闭包时,这种副作用相当普遍,我无法从您的示例中真正看出,但您可能想通过以下链接查看它是否适用于您的情况。循环内的 JavaScript 闭包——简单实用的示例

于 2013-08-12T15:38:25.490 回答