nodejs异步回调的理解


nodejs中异步编程的体现就是回调。

所谓异步编程体现的就是回调。

例如,我们可以一边读取文件,一边执行其他命令,在文件读取完成后,我们将文件内容作为回调函数的参数返回。这样在执行代码时就没有阻塞或等待文件 I/O 操作。

同步操作一般是先读取文件,读取完成后给到一个变量,然后继续执行程序,程序执行到需要这个文件数据的时候填入变量,这样一步一步的操作,相对于异步同时读取文件的时候就执行其他命令,节约了读取文件数据的时间,这样大大提高了nodejs的性能,在处理高并发请求的时候有着显著的性能提升。

同步阻塞代码实例

创建一个input.txt文件,写入“hello world”

var fs = require("fs");

var data = fs.readFileSync('input.txt');

console.log(data.toString());
console.log("程序执行结束!");

输出:

$ node main.js
hello world

程序执行结束!

异步非阻塞代码实例

创建一个input.txt文件,写入“hello world”

var fs = require("fs");

fs.readFile('input.txt', function (err, data) {
    if (err) return console.error(err);
    console.log(data.toString());
});

console.log("程序执行结束!");

输出:

$ node main.js
程序执行结束!
hello world

代码来自菜鸟教程


文章作者: theing
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 theing !
评论
 上一篇
js判断字符是否为回文 js判断字符是否为回文
palindrome(回文)是指一个字符串忽略标点符号、大小写和空格,正着读和反着读一模一样。
2019-12-20
下一篇 
colemak dvorak norman 键盘布局 colemak dvorak norman 键盘布局
以前看了一片文章,说现在的qwerty键盘布局很低效,我也只是看了下。后来在谈论键盘布局的时候和室友起了争执,室友说现在的键盘布局是根据字母使用频率来排布的,“很科学”,我当时很惊奇!!还没怎么争论还口,室友就又活在了自己的世界里,唉,实
2019-12-18
  目录