gpt4 book ai didi

javascript - for 循环外的异步变量

转载 作者:行者123 更新时间:2023-12-02 18:51:06 26 4
gpt4 key购买 nike

我刚刚开始使用 AJAX,我正在尝试在 for 循环内设置一个变量。然后我想稍后调用该变量并使用它的值。

当然,这将是同步的,要求脚本停止执行以便在返回函数的新值之前运行循环。

我希望有人知道一种更好的方法,可以在 for 循环运行后从 for 循环中获取值,并在之后直接在我的代码中使用它。

我不想使用 setTimeout() hack 来绕过这个问题(毕竟这是一个 hack)。

var getCount = function getCount(res) {
count = { active: 0, closed: 0 }; //Variable defined here

for(i=0; i<=res.length; i++) {
if(res[i].status == 'active') {
count.active ++;
} else { count.closed ++; }
}
return count; //And returned here
};

getCount(result);

console.log(count); //Here's where I need the result of the for loop

//Currently this outputs the count object with both properties set to 0;

最佳答案

我不确定 AJAX 与您的问题有什么关系。

您没有将 getCount 函数的结果分配给 count 变量(除非您希望 count 变量是全局变量,但在这种情况下,您需要在 getCount 函数定义之前定义它)。

更改此行:

getCount(result);

对此:

var count = getCount(result);

你应该没问题。 :)

我还建议,在声明变量时,始终使用 var 来声明它们。对于您的情况:

var count = { active: 0, closed: 0};

关于javascript - for 循环外的异步变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15816789/

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