javascript超时调用和间歇调用
2017-10-15 17:29
369 查看
超时调用
JavaScript是单线程解析器,一定时间内只执行一段代码。为了控制代码的执行,有一个JavaScript任务队列。这些任务会按照添加到任务队列的顺序执行。setTimeout()告诉JavaScript再过多长时间把当前任务添加到队列中。如果队列是空的,则添加的代码会立即被执行;如果队列不为空,就要等前面的代码被执行完了再执行。
取消超时调用
间歇调用
也会返回一个id,可通过clearInterval(intervalId)取消
输出
使用timeout实现上面的逻辑
建议使用超时调用模拟间歇调用,因为后一个间歇调用可能会在前一个间歇调用结束之前启动
setTimeout(function () { console.log("hello"); },2000);
JavaScript是单线程解析器,一定时间内只执行一段代码。为了控制代码的执行,有一个JavaScript任务队列。这些任务会按照添加到任务队列的顺序执行。setTimeout()告诉JavaScript再过多长时间把当前任务添加到队列中。如果队列是空的,则添加的代码会立即被执行;如果队列不为空,就要等前面的代码被执行完了再执行。
取消超时调用
var timeoutId = setTimeout(function () { console.log("hello"); },2000);
clearTimeout(timeoutId);
间歇调用
setInterval(function () { console.log("hello world"); },1000);
也会返回一个id,可通过clearInterval(intervalId)取消
var num = 0; var max = 10; var intervalId = null; function incrementNum() { num++; console.log(num); if(num==max){ clearInterval(intervalId); console.log("done"); } } intervalId = setInterval(incrementNum,500);
输出
1 2 3 4 5 6 7 8 9 10 done
使用timeout实现上面的逻辑
var num = 0; var max = 10; function incrementNum() { num++; console.log(num); if(num < max){ setTimeout(incrementNum,500); } } setTimeout(incrementNum,500);
建议使用超时调用模拟间歇调用,因为后一个间歇调用可能会在前一个间歇调用结束之前启动
相关文章推荐
- 【JavaScript学习】超时调用和间歇调用
- JavaScript间歇调用和超时调用
- 浅谈JavaScript超时调用和间歇调用
- javascript超时调用、间歇调用
- JavaScript用setTimeout超时调用实现setInterval间歇调用
- JavaScript的超时调用和间歇调用
- JavaScript——间歇调用和超时调用
- javascript学习笔记(十五) 间歇调用和超时调用
- 浅谈JavaScript超时调用和间歇调用
- js超时调用setTimeout和间歇调用setInterval实例分析
- 超时调用与间歇调用
- 间歇调用和超时调用(setTimeout和setInterval)
- javaScript 超时与间歇掉用
- javascript的setTimeout超时调用
- js超时调用setTimeout和间歇调用setInterval实例分析
- JavaScript高级程序设计之BOM之window 对象之间歇调用和超时调用 第8.1.6讲笔记
- BOM(二)间歇调用和超时调用、BOM其他主要对象
- Javascript学习笔记之超时调用和间歇调用