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 相关文章推荐
JQuery实现倒计时按钮的实现代码
Mar 23 Javascript
js 判断计算字符串长度/判断空的简单方法
Aug 05 Javascript
简单选项卡 js和jquery制作方法分享
Feb 26 Javascript
JS实现的表格操作类详解(添加,删除,排序,上移,下移)
Dec 22 Javascript
Bootstrap3学习笔记(三)之表格
May 20 Javascript
JavaScript的String字符串对象常用操作总结
May 26 Javascript
jQuery 表单序列化实例代码
Jun 11 jQuery
各种选择框jQuery的选中方法(实例讲解)
Jun 27 jQuery
前端把html表格生成为excel表格的实例
Sep 19 Javascript
浅析node.js的模块加载机制
May 25 Javascript
微信小程序商品详情页底部弹出框
Nov 22 Javascript
js代码编写无缝轮播图
Sep 13 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模拟服务器实现autoindex效果的方法
2015/03/10 PHP
PHP时间戳格式全部汇总 (获取时间、时间戳)
2016/06/13 PHP
php头像上传预览实例代码
2017/05/02 PHP
PHP实现权限管理功能示例
2017/09/22 PHP
laravel5.5添加echarts实现画图功能的方法
2019/10/09 PHP
jQuery EasyUI API 中文文档 - NumberBox数字框
2011/10/13 Javascript
鼠标经过tr时,改变tr当前背景颜色
2014/01/13 Javascript
探讨js字符串数组拼接的性能问题
2014/10/11 Javascript
Js数组排序函数sort()介绍
2015/06/08 Javascript
JavaScript数据结构与算法之集合(Set)
2016/01/29 Javascript
ClearTimeout消除闪动实例代码
2016/02/29 Javascript
JS获取复选框的值,并传递到后台的实现方法
2016/05/30 Javascript
JavaScript_ECMA5数组新特性详解
2016/06/12 Javascript
在使用JSON格式处理数据时应该注意的问题小结
2017/05/20 Javascript
JS中数据结构之栈
2019/01/01 Javascript
vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序
2019/07/08 Javascript
vue下拉刷新组件的开发及slot的使用详解
2020/12/23 Vue.js
Vue常用API、高级API的相关总结
2021/02/02 Vue.js
[07:12]2014DOTA2西雅图国际邀请赛 黑马Liquid专题采访
2014/07/12 DOTA
[01:11:08]Winstrike vs NB 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
python使用正则表达式匹配字符串开头并打印示例
2017/01/11 Python
解决Pyinstaller 打包exe文件 取消dos窗口(黑框框)的问题
2019/06/21 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
2020/11/24 Python
python读写数据读写csv文件(pandas用法)
2020/12/14 Python
python wsgiref源码解析
2021/02/06 Python
HTML5里的placeholder属性使用实例和美化显示效果的方法
2014/04/23 HTML / CSS
法国珠宝店:CLEOR
2017/01/29 全球购物
美丽的珠宝配饰:SmallThings
2019/09/04 全球购物
您的时尚,您的生活方式:DTLR Villa
2019/12/25 全球购物
应届生财务管理求职信
2013/11/06 职场文书
安全生产汇报材料
2014/02/17 职场文书
科长竞争上岗演讲稿
2014/05/12 职场文书
社区活动策划方案
2014/08/21 职场文书
行政助理岗位职责
2015/02/10 职场文书
2016年小学“公民道德宣传日”活动总结
2016/04/01 职场文书
Spring Data JPA框架Repository自定义实现
2022/04/28 Java/Android