node.js回调函数 - 阻塞与非阻塞

1.阻塞调用(读取完文件再执行后面的操作)

var fs = require("fs");

var data = fs.readFileSync(‘/fs.txt‘);

console.log(data.toString());

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

输出结果:

“文件内容”

“程序执行结束!”

2.非阻塞调用(读取文件和其他操作同步执行)

var fs = require("fs"); 

fs.readFile(‘/fs.txt‘,function(err,data){

if(err) return console.error(err);

console.log(data.toString());

});

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

输出结果:

“程序执行结束!”

“文件内容”

时间: 2024-10-26 15:15:24

node.js回调函数 - 阻塞与非阻塞的相关文章

Node.js 回调函数 1) 阻塞 ,同步 2) 非阻塞 ,异步.

1.阻塞. 同步. 1) 读取的文件: input.txt 菜鸟教程官网地址:www.runoob.com 2) main.js 1 var fs = require("fs"); 2 3 //同步读取, 阻塞代码,按顺序执行的 4 var data = fs.readFileSync('input.txt'); 5 6 console.log(data); 7 console.log(data.toString()); 8 console.log("程序执行结束!"

node.js 回调函数、事件循环、EventEmitter ar

异步编程  node.js 编程的直接体现就是回调,异步编程依托于回调来实现: node使用了大量的回调函数,所有API都支持回调函数 .如读取文件等. 这里对不懂线程和异步和同步的稍微解释下这三个名词 . 线程 : 简单的说就是做一件事 . 即执行一段程序代码 .js引擎就是一个单线程 的 处理 方式 .单线程是说 同一时间只能做一件事 . 同步 :就是这件事必须要先做完前面的才能做后面的,否则后面的无法完成. 这就像我们的js代码会从上往下 运行 . 异步 :简单的说就是两个线程,你做你的,

【Node.js学习四】 Node.js回调函数

Node.js 回调函数 Node.js 异步编程的直接体现就是回调. 异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了. 回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,Node 所有 API 都支持回调函数. 例如,我们可以一边读取文件,一边执行其他命令,在文件读取完成后,我们将文件内容作为回调函数的参数返回.这样在执行代码时就没有阻塞或等待文件 I/O 操作.这就大大提高了 Node.js 的性能,可以处理大量的并发请求. 下面对阻塞代码和非阻塞代码分别举出一例

5、Node.js 回调函数

内容:回调函数:阻塞/同步.非阻塞.和异步区别:阻塞和非阻塞代码实例 Node.js 回调函数Node.js 异步编程的直接体现就是回调.异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了.回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,Node 所有 API 都支持回调函数.例如,我们可以一边读取文件,一边执行其他命令,在文件读取完成后,我们将文件内容作为回调函数的参数返回.这样在执行代码时就没有阻塞或等待文件 I/O 操作.这就大大提高了 Node.js 的性能,可

Node.js 回调函数

callback: A callback is a function that is passed as an argument to another function and is executed after its parent function has completed. Node.js 异步编程的直接体现就是回调. 异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了. 回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,Node 所有 API 都支持回调函数.

同步和异步 以及node js 回调函数

1.创建一个input.txt 文本文件   里面随便写一些内容 2.创建main.js文件 var fs = require("fs"); var data = fs.readFileSync('input.txt');(这个地方一定要加上后缀的名字) console.log(data.toString()); console.log("程序执行结束!"); 3.上述为同步的代码 执行结果如下 $ node main.js 菜鸟教程官网地址:www.runoob.

node.js回调函数

Node.js 异步编程的直接体现就是回调. 阻塞代码var fs = require("fs"); var data = fs.readFileSync('input.txt'); console.log(data.toString()); console.log("程序执行结束!"); //readFileSync()同步的方式读取文件 //执行结果如下 $ node main.js xxxxxxxxxxxxxxx(input.txt内容) 程序执行结束! 非阻

(五)、对于node.js的阻塞与非阻塞(优缺点)的理解

当写程序的时候,遇到一个大功能需要很长时间做完,但是突然有一个急需的小功能需要先完成,那么就会暂停大功能,先做小功能,这种方式称为 阻塞.当小功能做完了,再继续做大功能.这就是通常的同步式 (Synchronous)或阻塞式 (Blocking). 相应地,异步式  (Asynchronous )或非阻塞式  (Non-blocking )则针对所有要完成的功能都不采用阻塞的策略.当线程遇到操作时,不会以阻塞的方式等待  操作的完成或数据的返回,而只是将 请求发送给操作系统,继续执行下一条语句.

socket阻塞与非阻塞,同步与异步、I/O模型,select与poll、epoll比较

1. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式: 同步/异步主要针对C端: 同步:      所谓同步,就是在c端发出一个功能调用时,在没有得到结果之前,该调用就不返回.也就是必须一件一件事做,等前一件做完了才能做下一件事. 例如普通B/S模式(同步):提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事 异步:      异步的概念和同步相对.当c端一个异步过程调用发出后,调