node使用3
定时器
setTimeout:
1 例: 2 setTimeout(()=>{},2000)//延迟2s执行 3 setTimeout(()=>{},0)//立即执行 4 const id=setTImeout(()=>{},5000)//setTImeout会返回一个id 5 clearTimeout(id);//清空计时器
setInterval:
与setTimeout的区别是setTImeout只执行一次而setInterval是间隔指定时间一直执行,除非使用clearInterval()让它停止,代码形式基本与setTimeout一样
Promise
定义:最终可变值的代理
学习文档:http://nodejs.cn/learn/understanding-javascript-promises
async和await
目的:它们减少了 promises 的样板,且减少了 promise 链的“不破坏链条”的限制。
使用例子:
1 const doSomeThingAsync=()=>{ 2 return new Promise(resolve => { 3 setTimeout(()=>resolve('做些事情'),3000) 4 5 }) 6 } 7 const doSomeThing= async ()=>{ 8 console.log(await doSomeThingAsync()) 9 } 10 console.log('之前') 11 doSomeThing(); 12 console.log('之后')
事件:
on emit
on用于添加回调函数
emit用于触发事件
使用以下代码进行初始化:
1 //初始化事件 2 const EventEmitter = require('events') 3 const eventEmitter = new EventEmitter() 4 //不带参数的事件 5 eventEmitter.on('start',()=>{ 6 console.log('开始') 7 }) 8 eventEmitter.emit('start') 9 //带参数的事件 10 eventEmitter.on('gogogo',text=>{ 11 console.log(`开始 ${text}`) 12 }) 13 eventEmitter.emit('gogogo',666)