Node.js同步和异步功能

在node.js平台中,由于遵循非阻塞编程模型,因此node.js模块中的大多数功能实际上都是异步的。 这意味着,功能内的代码块将对最终用户几乎没有阻塞,并且不会阻止用户对各种子过程执行不同的操作。

仍然有node.js模块中存在的函数的同步计数器部分。

这是Node.js文件系统模块的同步和异步功能的典型示例。

读取文件的异步功能–

var filesystem = require("fs");

filesystem.readFile("myfirstexample.txt", "utf8", function(error, data) {
  console.log(data);
});

在以上函数中,文件系统模块采用文件名并将文件数据作为引用传递给匿名函数的回调处理程序。 然后,该文件系统对象将准备好执行任何其他文件系统操作处理任务。

只要对文件的完全读取完成,回调函数就会将文件的内容记录到控制台。 在这里,应用程序性能不会妨碍系统。

读取文件的同步功能–

var filesystem  = require("fs");
var data = filesystem.readFileSync("myfirstexample.txt", "utf8");

console.log(data);

在这里,功能readFileSync将文件中的内容完全读取到内存中,然后在控制台中打印数据。 因此,此处代码块的调用是同步的,并且没有读取完整的内容,因此不会进入下一行。

现在,在活动服务器的情况下,大多数交互将由最终用户完成,第二种操作类型将影响应用程序性能,因为这是一个阻塞代码模型。 由于本质上的非阻塞代码,第一种类型的操作将为用户提供更好的性能。

我们将在以后的文章中讨论node.js编程模型的其他各个方面。 因此,请继续关注并在此处通过node.js功能讨论和有用的链接发表评论。

参考:来自Phlox Blog博客的JCG合作伙伴 Piyas De的Node.js同步和异步函数

翻译自: https://www.javacodegeeks.com/2013/12/node-js-synchronous-and-asynchronous-functions.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值