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 相关文章推荐
客户端js性能优化小技巧整理
Nov 05 Javascript
JQuery实现表格动态增加行并对新行添加事件
Jul 30 Javascript
js 操作符汇总
Nov 08 Javascript
ECMAScript6函数剩余参数(Rest Parameters)
Jun 12 Javascript
详谈javascript异步编程
Feb 21 Javascript
基于jQuery实现弹幕APP
Feb 10 Javascript
详解Vue项目中出现Loading chunk {n} failed问题的解决方法
Sep 14 Javascript
使用vue2.0创建的项目的步骤方法
Sep 25 Javascript
Koa 使用小技巧(小结)
Oct 22 Javascript
关于Vue源码vm.$watch()内部原理详解
Apr 26 Javascript
原生JS实现微信通讯录
Jun 18 Javascript
通过实例解析js可枚举属性与不可枚举属性
Dec 02 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 str_replace的替换漏洞
2008/03/15 PHP
PHP 程序授权验证开发思路
2009/07/09 PHP
php实现将任意进制数转换成10进制的方法
2015/04/17 PHP
CI操作cookie的方法分析(基于helper类库)
2016/03/28 PHP
对于Laravel 5.5核心架构的深入理解
2018/02/22 PHP
ExtJS 2.0实用简明教程 之ExtJS版的Hello
2009/04/29 Javascript
Javascript 汉字字节判断
2009/08/01 Javascript
jquery.validate使用攻略 第一部
2010/07/01 Javascript
Tips 带三角可关闭的文字提示
2010/10/06 Javascript
jquery 获取自定义属性(attr和prop)的实现代码
2012/06/27 Javascript
jQuery实现渐变下拉菜单的简单方法
2015/03/11 Javascript
jQuery选择器用法实例详解
2015/12/17 Javascript
jquery取消事件冒泡的三种方法(推荐)
2016/05/28 Javascript
使用ajaxfileupload.js实现上传文件功能
2016/08/13 Javascript
jQuery搜索框效果实现代码(百度关键词联想)
2021/02/25 Javascript
vue bootstrap小例子一枚
2017/06/09 Javascript
JavaScrpt中如何使用 cookie 设置查看与删除功能
2017/07/09 Javascript
详解用node搭建简单的静态资源管理器
2017/08/09 Javascript
javascript/jquery实现点击触发事件的方法分析
2019/11/11 jQuery
springboot+vue实现文件上传下载
2020/11/17 Vue.js
Python 返回汉字的汉语拼音
2009/02/27 Python
Python Sleep休眠函数使用简单实例
2015/02/02 Python
python中 logging的使用详解
2017/10/25 Python
Python数据结构与算法之字典树实现方法示例
2017/12/13 Python
解决Python一行输出不显示的问题
2018/12/03 Python
python中dict使用方法详解
2019/07/17 Python
Python读写锁实现实现代码解析
2020/11/28 Python
Python Selenium异常处理的实例分析
2021/02/28 Python
个人社会实践自我鉴定
2014/03/24 职场文书
2014年环卫工作总结
2014/11/22 职场文书
2014年客服工作总结与计划
2014/12/09 职场文书
承诺函格式模板
2015/01/21 职场文书
法律进社区活动总结
2015/05/07 职场文书
2015年财务科工作总结范文
2015/05/13 职场文书
六种css3实现的边框过渡效果
2021/04/22 HTML / CSS
雄兵连:第三季先行图公开,天使恶魔联合,银河之力的新力量
2021/06/11 国漫