本文主要是介绍关于js单线程异步的测试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
直接上代码:
function fun1() {console.time('test');
}function fun2() {console.timeEnd('test');
}setTimeout(fun1,100);
setTimeout(fun2,200);function waitFn(time) {var start = new Date().getTime();var flag = false;while(!flag) {var now = new Date().getTime();if(now - start >= time){flag = true;}}
}waitFn(500);
测试结果是 0.224ms 左右(使用nodejs测试)。
waitFn 是同步方式执行阻塞了定时器的调用,500ms后,setTimeout等待主线程的执行完毕,之后立即调用两个定时器中的函数,几乎同时执行,直接输出结果。
这篇关于关于js单线程异步的测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!