一.阻塞与非阻塞
阻塞是按顺序执行的。 有先后顺序。
input.txt文件内容是: ????我是阻塞
var fs = require("fs");var data = fs.readFileSync(‘input.txt‘);console.log(data.toString());console.log("程序执行结束!");
输出结果是:
我是阻塞
程序执行结束!
而非阻塞是不需要按顺序的,所以如果需要处理回调函数的参数,我们就需要写在回调函数内。
input.txt文件内容是: ????我是非阻塞
var fs = require("fs");fs.readFile(‘input.txt‘, function (err, data) { ???if (err) return console.error(err); ???console.log(data.toString());});console.log("程序执行结束!");
输出结果是:
程序执行结束!
我是非阻塞
二.事件
// 引入 events 模块var events = require(‘events‘);// 创建 eventEmitter 对象var eventEmitter = new events.EventEmitter();
*********************************************//1. 创建事件处理程序var connectHandler = function connected() { ???console.log(‘连接成功。‘); }//2. 绑定 connection 事件处理程序eventEmitter.on(‘connection‘, connectHandler);//3. ?触发 connection 事件 eventEmitter.emit(‘connection‘);*********************************************
*注意分割线内的书写顺序,否则会失败!
??当然:创建事件处理程序可以不用 ?放在2中
console.log("程序执行完毕。");
??
NodeJs入门学习笔记
原文地址:https://www.cnblogs.com/LuXianSheng/p/8146484.html