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 相关文章推荐
FormValid0.5版本发布,带ajax自定义验证例子
Aug 17 Javascript
对采用动态原型方式无法展示继承机制得思考
Dec 04 Javascript
浅谈jquery中delegate()与live()
Jun 22 Javascript
信息页文内画中画广告js实现代码(文中加载广告方式)
Jan 03 Javascript
JavaScript程序开发之JS代码放置的位置
Jan 15 Javascript
举例讲解jQuery中可见性过滤选择器的使用
Apr 18 Javascript
vue基于Vue2.0和高德地图的地图组件实例
Apr 28 Javascript
C#实现将一个字符转换为整数
Dec 12 Javascript
js装饰设计模式学习心得
Feb 17 Javascript
详解在Javascript中进行面向切面编程
Apr 28 Javascript
微信小程序获取当前位置和城市名
Nov 13 Javascript
vue-cli4使用全局less文件中的变量配置操作
Oct 21 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生成静态html文件的三种方法
2013/06/18 PHP
让ThinkPHP支持大小写url地址访问的方法
2014/10/31 PHP
PHP 实现 WebSocket 协议原理与应用详解
2020/04/22 PHP
js function定义函数使用心得
2010/04/15 Javascript
JavaScript中获取未知对象属性的代码
2011/04/27 Javascript
由Javascript实现的页面日历
2011/11/04 Javascript
javascript对象的相关操作小结
2016/05/16 Javascript
jQuery插件ajaxFileUpload使用实例解析
2016/10/19 Javascript
jQuery中Datatables增加跳转到指定页功能
2017/02/08 Javascript
浅谈express.js框架中间件(middleware)
2019/04/07 Javascript
JavaScript计算正方形面积
2019/11/26 Javascript
利用JavaScript为句子加标题的3种方法示例
2021/01/05 Javascript
[08:44]DOTA2发布会群星聚首 我们都是刀塔人
2014/03/21 DOTA
[01:16]2014DOTA2 TI专访C9战队EE:中国五强中会占三席
2014/07/10 DOTA
[05:49]2014DOTA2TI4正赛第二日综述 昔日冠军纷纷落马 VG LGD占尽先机
2014/07/20 DOTA
python实现在目录中查找指定文件的方法
2014/11/11 Python
简化Python的Django框架代码的一些示例
2015/04/20 Python
Python中subprocess模块用法实例详解
2015/05/20 Python
python subprocess 杀掉全部派生的子进程方法
2017/01/16 Python
初探TensorFLow从文件读取图片的四种方式
2018/02/06 Python
在IPython中执行Python程序文件的示例
2018/11/01 Python
Python发送邮件测试报告操作实例详解
2018/12/08 Python
基于python3监控服务器状态进行邮件报警
2019/10/19 Python
Windows 下python3.8环境安装教程图文详解
2020/03/11 Python
Python爬虫爬取、解析数据操作示例
2020/03/27 Python
Python3操作读写CSV文件使用包过程解析
2020/04/10 Python
pycharm无法安装第三方库的问题及解决方法以scrapy为例(图解)
2020/05/09 Python
pytorch中的weight-initilzation用法
2020/06/24 Python
Matplotlib中rcParams使用方法
2021/01/05 Python
HTML5 LocalStorage 本地存储详细概括(多图)
2017/08/18 HTML / CSS
amazeui 验证按钮扩展的实现
2020/08/21 HTML / CSS
输入一行文字,找出其中大写字母、小写字母、空格、数字、及其他字符各有多少
2016/04/15 面试题
精选干货:Java精选笔试题附答案
2014/01/18 面试题
报关专员求职信范文
2014/02/22 职场文书
2016年五一促销广告语
2016/01/28 职场文书
公文写作:教你写“建议书”
2019/05/07 职场文书