我知道setTimeout
函数会产生一个单独的线程,在执行JS函数之前等待x毫秒
setTimeout(functionName, timeInms);
我的问题是,在页面上的JS完成执行后,是否有办法告诉它运行?因为这取决于页面上有多少JS,所以这不能是绝对数字
这是我在这里发布的一个更大问题的一部分:
要点是ScriptManager不保证执行顺序,我必须在最后运行EndScript
函数。它有点适用于setTimeOut
,虽然它不是很准确(因为页面上的JS不同)
答案 0 :(得分:7)
Javascript是单线程的。
如果您设置的计时器在Javascript代码仍在运行时过期,它将等待代码完成,然后再运行计时器功能。
编辑:为了澄清,它将等到计时器“振铃”,然后在JS线程空闲后立即执行该函数,这意味着在任何Javascript代码完成后。
请注意,它将等待所有代码完成运行,而不仅仅是您的特定文件。