node.js回调函数之阻塞调用与非阻塞调用


Posted in Javascript onNovember 13, 2015

首先,node.js作为javascript运行平台,它采用了事件驱动和异步编程的方式,通过事件注册和异步函数,开发人员可以提高资源利用率,服务器的性能也能得到改善。其次,对于前端人来说,node.js作为js的运行平台,我们可以通过编写系统级或者服务器端的javascript代码交给node.js来执行,让我们前端人也能作用于后台,相比之下,浏览器端的javascript代码在运行时会受到各种安全性的限制,对客户系统的操作有限,而node.js则是一个全面的后台运行时,为javascript提供了许多其他语言能够实现的许多功能。

下面回归正题,首先给大家介绍阻塞调用,具体内容请往下看。

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("程序执行结束!");

输出结果:

“程序执行结束!”

“文件内容”

以上内容是小编给大家介绍的node.js回调函数之阻塞调用与非阻塞调用的全部内容,希望大家喜欢。

Javascript 相关文章推荐
javascript写的一个链表实现代码
Oct 25 Javascript
jquery获取自定义属性(attr和prop)实例介绍
Apr 21 Javascript
JavaScript中双叹号(!!)作用示例介绍
Apr 10 Javascript
node.js中的console.trace方法使用说明
Dec 09 Javascript
vue组件 $children,$refs,$parent的使用详解
Jul 31 Javascript
详解基于Vue2.0实现的移动端弹窗(Alert, Confirm, Toast)组件
Aug 02 Javascript
详解Puppeteer前端自动化测试实践
Feb 21 Javascript
Vuex新手的理解与使用详解
May 31 Javascript
Vue 实现复制功能,不需要任何结构内容直接复制方式
Nov 09 Javascript
解决Vue的项目使用Element ui 走马灯无法实现的问题
Aug 03 Javascript
使用Vue实现一个树组件的示例
Nov 06 Javascript
Javascript使用integrity属性进行安全验证
Nov 07 Javascript
JavaScript在网页中画圆的函数arc使用方法
Nov 13 #Javascript
学习JavaScript正则表达式
Nov 13 #Javascript
jquery实现九宫格大转盘抽奖
Nov 13 #Javascript
jquery动画效果学习笔记(8种效果)
Nov 13 #Javascript
javascript:void(0)点击登录没反应怎么解决
Nov 13 #Javascript
javascript:void(0)是什么意思及href=#与href=javascriptvoid(0)的区别
Nov 13 #Javascript
每天一篇javascript学习小结(Date对象)
Nov 13 #Javascript
You might like
PHP性能优化准备篇图解PEAR安装
2011/12/05 PHP
php实现的click captcha点击验证码类实例
2014/09/23 PHP
使用PHPCMS搭建wap手机网站
2015/09/20 PHP
浅谈PHP中的
2016/04/23 PHP
Laravel使用消息队列需要注意的一些问题
2017/12/13 PHP
Laravel 6 将新增为指定队列任务设置中间件的功能
2019/08/06 PHP
详解new function(){}和function(){}() 区别分析
2008/03/22 Javascript
easyui Draggable组件实现拖动效果
2015/08/19 Javascript
js实现文字垂直滚动和鼠标悬停效果
2015/12/31 Javascript
jquery实现上传文件大小类型的验证例子(推荐)
2016/06/25 Javascript
小发现之浅谈location.search与location.hash的问题
2017/06/23 Javascript
two.js之实现动画效果示例
2017/11/06 Javascript
微信小程序倒计时功能实现代码
2017/11/09 Javascript
vue.js iview打包上线后字体图标不显示解决办法
2020/01/20 Javascript
vue实现表单未编辑或未保存离开弹窗提示功能
2020/04/08 Javascript
Node 模块原理与用法详解
2020/05/13 Javascript
[01:32]2014DOTA2西雅图邀请赛 CIS我们有信心进入正赛
2014/07/08 DOTA
[00:32]DOTA2上海特级锦标赛 Ehome战队宣传片
2016/03/03 DOTA
老生常谈Python startswith()函数与endswith函数
2017/09/08 Python
python实现归并排序算法
2018/11/22 Python
python 返回一个列表中第二大的数方法
2019/07/09 Python
Python帮你微信头像任意添加装饰别再@微信官方了
2019/09/25 Python
Python实现平行坐标图的绘制(plotly)方式
2019/11/22 Python
Python TKinter如何自动关闭主窗口
2020/02/26 Python
英国著名的化妆品折扣网站:Allbeauty.com
2016/07/21 全球购物
工程造价专业大专生求职信
2013/10/06 职场文书
应届生简历中的自我评价
2014/01/13 职场文书
旅游与环境专业求职信
2014/06/05 职场文书
语文课外活动总结
2014/08/27 职场文书
2015年街道除四害工作总结
2015/05/15 职场文书
信息技术课教学反思
2016/02/23 职场文书
python numpy中multiply与*及matul 的区别说明
2021/05/26 Python
elasticSearch-api的具体操作步骤讲解
2021/06/28 Java/Android
SpringBoot SpringEL表达式的使用
2021/07/25 Java/Android
Python使用socket去实现TCP客户端和TCP服务端
2022/04/12 Python
SQL Server 忘记密码以及重新添加新账号
2022/04/26 SQL Server