[node] Node.js的函数
- 函数
- 匿名函数
- 回调函数
- 什么是回调函数
- 阻塞与非阻塞
- 回调的实例
- 同步实例
- 异步实例
函数
Node.js 中函数的使用与 JavaScript 类似,一个函数可以作为另一个函数的参数。我们可以先定义一个函数,然后传递,也可以在传递参数的地方直接定义函数
匿名函数
没有命名的函数叫匿名函数
回调函数
什么是回调函数
Nodejs是异步编程,并且是通过回调函数实现的异步编程。
异步编程的优势是避免阻塞,可以处理并发的请求
Node使用了大量的回调,并且所有API基本都支持回调
回调函数一般是作为函数的最后一个参数出现
:
function demo1(name, age, callback) { }
function demo2(value, callback1, callback2) { }
阻塞与非阻塞
也就是我们常说的同步和异步执行。
阻塞(同步),代码按顺序执行,当前代码没有完成是不会继续执行下面的代码;
非阻塞(异步),代码不按顺序执行,会继续执行下面的代码;我们通常需要处理异步函数执行的结果
回调的实例
input.txt:
第一中学
同步实例
index.js
const fs = require("fs");
//readFileSync 同步函数
//等到当前语句执行完成,获取到文件内容后才继续执行后面的console语句
const data = fs.readFileSync('input.txt');
console.log(data.toString());
console.log("程序执行结束!");
执行上述文件结果:
第一中学
程序执行结束!
异步实例
index.js
const fs = require("fs");
//readFile 异步函数
//不等当前语句执行完成,就继续执行后面的console语句,读取到文件内容后才继续执行当前函数的完成回调函数,用于处理读取到的内容
fs.readFile('input.txt', function (err, data) {
if (err) return console.error(err);
console.log(data.toString());
});
console.log("程序执行结束!");
执行上述文件结果:
程序执行结束!
第一中学