node里面有阻塞式编程和线程式编程
阻塞式编程可以简单理解为传统的面向过程式的编程,程序是一句一句往下执行的。而线程式也就是使用了node里面的回调函数进行函数的调用,会把需要执行的函数执行,但是程序不会等这个函数执行完之后才能往下走,而是直接往下走。
setTimeout(()=>{
console.log("Function");
},1000)
console.log('begin....');
像上面这一句如果是传统的语言类似C系
#include<iostream>
using namespace std;
void show(){
cout<<"functoin"<<endl;
}
int main(){
show();
cout<<"begin"<<endl;
}
输出会是
function
begin…
但是在使用回调函数会是
begin…
Function
node 里面的事件
var EventEmitter = require('events').EventEmitter;
var event = new EventEmitter();
event.on('event_name',()=>{
console.log('this is the event.');
})
setTimeout(()=>{
event.emit('event_name');
},1000)
console.log("1s后执行事件event_name");
测试效果