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中的关于类型转换的性能优化
Dec 14 Javascript
JavaScript导出Excel实例详解
Nov 25 Javascript
js实现键盘上下左右键选择文字并显示在文本框的方法
May 07 Javascript
JavaSciprt中处理字符串之sup()方法的使用教程
Jun 08 Javascript
Javascript 基础---Ajax入门必看
Jul 06 Javascript
JS实现简单易用的手机端浮动窗口显示效果
Sep 07 Javascript
JavaScript两个变量交换值的实现方法
Mar 01 Javascript
JavaScript实现三级联动效果
Jul 15 Javascript
解决vue打包项目后刷新404的问题
Mar 06 Javascript
Vue子组件向父组件通信与父组件调用子组件中的方法
Jun 22 Javascript
layui表格内容溢出的解决方法
Sep 06 Javascript
CocosCreator入门教程之网络通信
Apr 16 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使用curl获取https请求的方法
2015/02/11 PHP
php中smarty模板条件判断用法实例
2015/06/11 PHP
详解WordPress中添加和执行动作的函数使用方法
2015/12/29 PHP
java微信开发之上传下载多媒体文件
2016/06/24 PHP
Laravel 实现关系模型取出需要的字段
2019/10/10 PHP
php实现统计IP数及在线人数的示例代码
2020/07/22 PHP
jquery获取一组checkbox的值(实例代码)
2013/11/04 Javascript
jQuery中hover方法和toggle方法使用指南
2015/02/27 Javascript
AngularJS使用指令增强标准表单元素功能
2016/07/01 Javascript
详细谈谈AngularJS的子级作用域问题
2016/09/05 Javascript
axios基本入门用法教程
2017/03/25 Javascript
源码分析Vue.js的监听实现教程
2017/04/23 Javascript
通俗易懂地解释JS中的闭包
2017/10/23 Javascript
VeeValidate在vue项目里表单校验应用案例
2018/05/09 Javascript
vue2.x集成百度UEditor富文本编辑器的方法
2018/09/21 Javascript
jquery操作select常见方法大全【7种情况】
2019/05/28 jQuery
JavaScript实现背景自动切换小案例
2019/09/27 Javascript
python开发之thread线程基础实例入门
2015/11/11 Python
Python之web模板应用
2017/12/26 Python
python向已存在的excel中新增表,不覆盖原数据的实例
2018/05/02 Python
python计算列表内各元素的个数实例
2018/06/29 Python
利用Django模版生成树状结构实例代码
2019/05/19 Python
python网络爬虫 Scrapy中selenium用法详解
2019/09/28 Python
python银行系统实现源码
2019/10/25 Python
pytorch:model.train和model.eval用法及区别详解
2020/02/20 Python
在Matplotlib图中插入LaTex公式实例
2020/04/17 Python
Python程序慢的重要原因
2020/09/04 Python
canvas绘制表情包的示例代码
2018/07/09 HTML / CSS
意大利火车票和铁路通行证专家:ItaliaRail
2019/01/22 全球购物
中东最大的在线宠物店:Dubai Pet Food
2020/06/11 全球购物
人力管理专业毕业生求职信
2014/02/27 职场文书
大学生励志演讲稿
2014/04/25 职场文书
工作能力自我评价2015
2015/03/05 职场文书
工作态度检讨书范文
2015/05/06 职场文书
PyTorch梯度裁剪避免训练loss nan的操作
2021/05/24 Python
pandas取dataframe特定行列的实现方法
2021/05/24 Python