Node.js文件的同步异步事件循环

来源:互联网 发布:ubuntu下lamp环境搭建 编辑:程序博客网 时间:2024/06/07 05:07

刚接触Node.js关于同步异步,事件循环的笔记:


1,文件同异步

var fs = require('fs');fs.readFile('file.txt', 'utf-8', function(err, data) {if (err) {console.error(err);} else {console.log(data);}});console.log('end.');

运行的结果如下:
end.
Contents of the file.(file.txt文件内容)
Node.js默认是异步读取文件,如果需要同步读取文件


var data = fs.readFileSync('file.txt', 'utf-8');

Node.js 中,并不是所有的 API 都提供了同步和异步版本。尽量不要使用同步。


2,事件

var EventEmitter = require('events').EventEmitter;var event = new EventEmitter();event.on('some_event', function() {console.log('some_event occured.');});setTimeout(function() {event.emit('some_event');}, 1000);//每隔一秒发送事件some_event

3,Node.js事件循环机制

事件的回调函数在执行的过程中,可能会发出 I/O 请求或直接发射(emit)事件,执行完毕后再返回事件循环,事件循环会检查事件队列中有没有未处理的事件,直到程序结束。


循环机制

个人觉得这就是异步的主要原因

原创粉丝点击