1、非阻塞 I/O
var fs = require('fs'); console.log('1'); fs.readFile('mime.json',function (err,data) {//readFile是一个异步,或者是非阻塞式IO console.log('2'); }) console.log('3');
2、函数封装
//封装
function getData() { fs.readFile('io/mime.json', function (err, data) {//readFile是一个异步,或者是非阻塞式IO console.log(data.toString()); }); }
//调用 getData();
3、回调函数处理异步
var fs=require('fs'); function getMime(callback){ //callback为回调函数 fs.readFile('io/mime.json',function(err,data){ callback(data); //相当于将function(result)传入函数内 }) } getMime(function(result){ //function(result)为回调函数 console.log(result.toString()); })
4、事件驱动(消息订阅系统)
// 引入 events 模块 var events = require('events'); var EventEmitter=new events.EventEmitter(); /*实例化事件对象*/ EventEmitter.on('toparent',function(){//订阅消息 console.log('接收到了消息'); }) setTimeout(function(){ console.log('广播'); EventEmitter.emit('toparent'); /*发布消息*/ },1000)