标签:cli 异步操作 死循环 依赖 打开 interval 如何 time 处理
function:到达时间后执行的方法,设定时不执行
interval:时间因子(需要等到的时间 MS)
clearTimeout / clearInterval:这两个方法中的任何一个都可以清除用任何方法创建的定时器。设置定时器会有一个返回值,这个值是一个数字,属于定时器的编号,代表当前是第几个定时器(不管是基于setTimeout还是setInterval创建定时器,这个编号会累加)
所有的事件绑定都是异步编程 xxx.onclick=function(){}
所有的定时器都是异步编程 setTimeout(function(){},1000)
AJAX中一般都使用异步编程处理
回调函数也算是异步编程
...
//=>定时器设定一个时间,到达时间后不一定执行(如果当前还有其它的同步任务正在处理,那么到时间了也得等着)
let n = 0;
setTimeout(() => {
console.log(++n);
}, 1000);
console.log(n);//=>0
while(1===1){
//=>死循环
}
1.在主任务队列自上而下执行的时候,如果遇到一个异步操作任务,没有立即执行,而是把它放到等待任务队列中排队
2.当主任务队列完成后才会到等待队列中进行查找(主任务队列完不成,不管等待任务队列中是否有到达时间的,都不处理,继续等待主任务队列完成,因为js是单线程的,一次只能处理一件事情)
3.等待任务队列中谁先到条件了(如果有很多都达到条件了谁先达到的,就先处理谁),就把这个任务重新放到主任务队列中去执行,把这个任务执行完,再去等待队列中查找
标签:cli 异步操作 死循环 依赖 打开 interval 如何 time 处理
原文地址:https://www.cnblogs.com/wangshouren/p/11615837.html