gpt4 book ai didi

javascript - 下一条语句在前一条语句结束之前运行

转载 作者:行者123 更新时间:2023-11-29 18:30:53 25 4
gpt4 key购买 nike

我在我的 firefox 上运行这些代码,console 得到 3 2 1,这意味着语句在前者结束之前运行。

function test(){
setTimeout(function(){console.log(1)},1000); //statement 0
setTimeout(function(){console.log(2)},500); //statement 1
}
test();
console.log(3); //statement 2

这是 javascript 的一个特性吗,我是否必须在为变量赋值后再次检查它?因为太复杂了。

var a;
while(a!==get('some')){
a=get('some');
if(a===get('some')){
whatShouldBeRun();afterGetSome();
break;
}
}

最佳答案

这正是您要求它做的。首先,您要求它启动两个语句以在将来运行某个时间点。然后你写“3”。运行时间到了的那些语句中的第一个然后运行,并写入“2”。最后,第三个运行并写入“1”。

如果您正在使用异步处理 - settimeout - 那么是的,您需要像处理任何其他语言一样处理它。但是如果您需要它按顺序运行,请不要让它异步运行。

让它们一个接一个地运行:

function test()
{
setTimeout(function()
{
console.log(1);setTimeout(function()
{
console.log(2);console.log(3)
},500)
},1000);
}

test();

[我可能有一些错误]

关于javascript - 下一条语句在前一条语句结束之前运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8465445/

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