gpt4 book ai didi

Javascript 闭包访问与循环内的回调

转载 作者:行者123 更新时间:2023-12-02 16:11:20 25 4
gpt4 key购买 nike

我该怎么做才能让最后一行代码返回一个值?

$scope.runActionwithObjects = function() {

for (var i = 0; i < $scope.Objects.length; i++) {
console.log($scope.Objects[i]); //$scope is accessible
$http.get($scope.Objects[i]["Commit"]).success(function (data) {
console.log($scope.Objects[i]);//return undefined

最佳答案

该问题是由于 ajax 请求异步造成的。

当执行success回调时,您的循环已经完成并且i变量已经等于$scope。对象.length.

尝试forEach 。该函数将为数组中的项目创建不同的闭包。

$scope.Objects.forEach(function(currentObject){
console.log(currentObject); //$scope is accessible
$http.get(currentObject["Commit"]).success(function (data) {
console.log(currentObject);
});
});

关于Javascript 闭包访问与循环内的回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30151699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com