javascript 确保在一段代码执行后再执行下面的代码???

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 确保在一段代码执行后再执行下面的代码???相关的知识,希望对你有一定的参考价值。

我遇到的问题是这样的:
对于以下代码:
showWarning(1);
alert("rValue: "+globalNumber);
本是想让showWarning()执行之后再执行alert()
但是发现在showWarning()还没有执行完毕,alert()就已经执行了?
该如何解决这个问题呢????
请指教!!!!
试了一下,不起作用!!!!

参考技术A 给showWarning(1) 一个返回值,然后
if(showWarning(1))
alert("rValue: "+globalNumber);
else
alert("rValue: "+globalNumber);

这样就可以保证执行showWarning后再执行alert了,呵呵。比较贱的一个方法

补充:
你把alert("rValue: "+globalNumber);放在showWarning(1)这个方法的最后一句啊。
参考技术B 加个判定就可以了,
if(showWarning(1))//当执行了改代码
alert("rValue: "+globalNumber);//才执行这里

或者用代码延迟执行调用的方法吧
参考技术C 这个问题一般要涉及到一个全局变量的问题!
比如给
设定一个全局的变量var flag="";
showWarning(1)中 执行flag=1;
然后在alert之前加判断,然后递归调用延迟函数
function test()
if(flag=="")
setTimeout("test()",100);
else
alert("rValue: "+globalNumber);


这样就可以了,有问题可以HI我!!
参考技术D 负责任地说,你说的问题不会发生..

如何确保JavaScript的执行顺序

javascript代码和其他服务器端代码一样,都是按顺序执行的。

但是这里有几个代码跳转的地方:
1、setTimeout / setInterval
这两个函数中的代码是定时执行,不在顺序中;
2、ajax
Ajax一般来说,在 成功/失败 获取服务器端数据后会有js代码来处理接受到的数据;ajax有两种情况,分别是同步和异步;同步是指的,js在发送ajax请求后阻塞代码执行,一直到ajax获取到服务器返回数据,然后继续按代码顺序执行,也就是说,这种情况下,ajax后面的代码中可以正常使用ajax返回的数据;异步是指ajax请求发送后,代码跳过ajax,继续执行其后的代码,ajax 响应代码在ajax获取数据后执行,也就是说,这种情况下,ajax后面的代码中不能确定ajax的状态,也不可以ajax返回的数据。
参考技术A Javascript是单线程语言,正常情况下,代码都是向下执行的。
但是,一旦接触到异步领域,就发现要把控Javascript相比其他语言是麻烦了不少。在浏览器端常见的就是DOM事件和Ajax。而服务器端则是各种异步IO。实践中,服务器NodeJs会有更多异步流程需要处理。
不知道提问者是问浏览器端还是服务器NodeJs端的,不过核心解决方案都是让你的异步api支持Promise写法,将嵌套的回调舒展成线性。后续也可以使用co或者async/await来同步化你的异步代码。本回答被提问者采纳

以上是关于javascript 确保在一段代码执行后再执行下面的代码???的主要内容,如果未能解决你的问题,请参考以下文章

javascript执行上下文环境

android 开发中如何实现让程序执行一条语句后延时一段时间后再执行下面的语句

如何让cmd命令暂停一段时间后再自动执行

如何加载以及执行 JavaScript 确保性能最优

如何确保JavaScript的执行顺序

C++ 函数 Sleep() 在一段代码之前执行