Node.js-提供了四种形式的定时器
Node.js提供了四种形式的定时器
global.setTimeout(); //一次性定时器
global.setInterval(); //周期性定时器
global.nextTick(); //本次事件循环结束时立即执行的定时器
global.setImmediate(); //下次事件循环立即执行的定时器 var i=1;
setTimeout(()=>{
console.log(i);
},1000); //1秒之后,打印出0,1,2,3,4
for(var i=1;i<=3;i++){
setTimeout(()=>{
console.log(i)
},1000)
} //闭包 for(var i=1; i<=3; i++){
setTimeout(outer(i),1000) //定期定时器
}
function outer(num){
return function(){
console.log(num)
};
} //使用箭头函数完成上面的闭包功能 for(var i=1;i<=3;i++){
setTimeout(((num)=>{
return ()=>{console.log(num);}})(i),1000)
} setInterval 周期性定时器
var count=0;
var timer=setInterval(function(){
count++;
console.log('%d hello',count);
if(count>5){
clearInterval(timer);
}
},1000); //setTimeout 一次性定时器
var count2=0;
var timer2=setTimeout(function(){
count2++;
if(count2<=5){
console.log('%d hello',count2);
setTimeout(arguments.callee,1000); //arguments
}else{
clearTimeout(timer2);
}
},1000)
//setImmediate(); 下次事件循环立即执行的定时器
setImmediate(function(){
console.log('Immediate 1.....');
});
process.nextTick(function(){
console.log('nextTick 1......');
});
setTimeout(function(){console.log('setTimeout 2....')},1000)
process.nextTick(function(){
console.log('nextTick 2......');
});
setImmediate(function(){
console.log('nextTick 3......');
});
console.log('end....');
Node.js-提供了四种形式的定时器的更多相关文章
- node.js取参四种方法req.body,req.params,req.param,req.body
参考:https://my.oschina.net/u/2519530/blog/535309 获取请求很中的参数是每个web后台处理的必经之路,nodejs的 express框架 提供了四种方法来实 ...
- es6 Object.assign ECMAScript 6 笔记(六) ECMAScript 6 笔记(一) react入门——慕课网笔记 jquery中动态新增的元素节点无法触发事件解决办法 响应式图像 弹窗细节 微信浏览器——返回操作 Float 的那些事 Flex布局 HTML5 data-* 自定义属性 参数传递的四种形式
es6 Object.assign 目录 一.基本用法 二.用途 1. 为对象添加属性 2. 为对象添加方法 3. 克隆对象 4. 合并多个对象 5. 为属性指定默认值 三.浏览器支持 ES6 O ...
- javaSE中JDK提供的四种线程池
对javaSE中JDK提供的四种线程池稍作整理 一.Executor package java.util.concurrent; /** * @since 1.5 * @author Doug ...
- React-Native 获取node.js提供的接口
一个简单的React-Native 获取node.js提供的接口的实现 一.node.js var http = require("http"); var url = requir ...
- JS函数的四种调用模式
函数在js中具有四种身份,分别为函数.方法.构造函数.apply或call调用 函数调用 函数调用模式中this指全局对象(window) var f1 = function() { alert ...
- OAuth2 RFC 6749 规范提供的四种基本认证方案
OAuth2 RFC 6749 规范提供了四种基本认证方案,以下针对这四种认证方案以及它们在本实现中的使用方式进行分别说面. 第一种认证方式: Authorization Code Grant (授权 ...
- JAVA基础知识|Executors提供的四种线程池
一.Thread与Executors 开启新的线程,我们经常会采用如下方法: Thread thread =new Thread(new Runnable() { @Override public v ...
- Python中函数传递参数有四种形式
Python中函数传递参数有四种形式 fun1(a,b,c) fun2(a=1,b=2,c=3) fun3(*args) fun4(**kargs) 四种中最常见是前两种,基本上一般点的教程都会涉及, ...
- 模块的四种形式、 import和from...import、 循环导入问题、模块的搜索路径、 python文件的两种用途
目录 模块的四种形式 模块 模块的四种形式 import和from...import 循环导入问题 模拟问题的发生: 解决方案 模块的搜索路径 Python文件的两种用途 模块的四种形式 Nike推荐 ...
随机推荐
- I2C控制器的Verilog建模之二
前言:接着上一篇的I2C写操作,今天要实现一个I2C的读操作.虽然在ADV7181B配置内部寄存器时没有必要使用到读操作,但是为了进一步确认寄存器是否在I2C写模块下被正确配置,这一步是必不可少的. ...
- 关于对inputstream流的复制
今天因为项目需要,获取到一个inputstream后,可能要多次利用它进行read的操作.由于流读过一次就不能再读了,所以得想点办法. 而InputStream对象本身不能复制,因为它没有实现Clon ...
- springmvc常用注解与类型转换
springmvc常用注解与类型转换 一:前置 spring -servlet.xml 注入 <!-- 启用spring mvc 注解 --> <context:annotation ...
- 苹果手机制作gif图片
前一段介绍了一款很好用的在模拟器上录制gif图片的工具licecap(地址:http://www.cnblogs.com/10-19-92/p/5593785.html), 但是licecap不能使用 ...
- entityframework 入门-来自微软
必备条件 要完成本演练,需要安装 Visual Studio 2010 或 Visual Studio 2012. 如果使用的是 Visual Studio 2010,还需要安装 NuGet. 1.创 ...
- 遍历所有的选中的radio的个数和值
var ID = ""; $('input:radio:checked').each(function (i) { ...
- 43. studio上的json串解析
var doc = O_PARAMETER.FJSonStr;(doc为:{"items":[],"nextId":0}) //1.先转为json对象,主要有以 ...
- web项目启动报错Unknown character set: 'utf8mb4' in mysql
网上一查,有的说是mysql驱动的问题,有的说创建数据库的时候指定utf8编码,换了各种mysql版本,最后换了5.1.6版本的mysql驱动后成功启动!问题解决!OMG
- notepad++ 正则表达式
body { font-family: Bitstream Vera Sans Mono; font-size: 11pt; line-height: 1.5; } html, body { colo ...
- mysql数据类型最大长度记录
MySQL中各数据类型的取值范围 转在这里,慢慢记下来. TINYINT -128 - 127 TINYINT UNSIGNED 0 - 255 SMALLINT -32768 - 32767 SMA ...