JavaScript异步和同步加载中setTimeout时间执行问题

setTimeout( function(){
alert("1");
},5000)
function A(){
//两种情况:
//第一种,A函数是同步加载,加载数据需要10s
//第二种,A函数是异步加载,加载数据需要10s
}
this.A();

问:alert("1")什么时间执行?

解答:

JS是单线程执行,在存在同步请求时,先执行同步请求,同步请求执行完成后在执行setTimeout;

在异步请求时,由于异步请求的原理,先执行setTimeout,然后执行异步请求。

第一种情况:alert("1")在运行开始15s后执行;

第二种情况:alert("1")在运行开始5s后执行;

猜你喜欢

转载自blog.csdn.net/Raytheon107/article/details/80204867
今日推荐