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代码[翻译]
Feb 12 Javascript
判断某个字符在一个字符串中是否存在的js代码
Feb 28 Javascript
JsRender for index循环索引用法详解
Oct 31 Javascript
jquery自定义插件——window的实现【示例代码】
May 06 Javascript
深入浅析JS Function()构造函数
Aug 22 Javascript
解决vue打包之后静态资源图片失效的问题
Feb 21 Javascript
vue页面切换到滚动页面显示顶部的实例
Mar 13 Javascript
微信小程序自定义tabBar组件开发详解
Sep 24 Javascript
vue搜索和vue模糊搜索代码实例
May 07 Javascript
vue项目中使用scss的方法步骤
May 16 Javascript
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
May 19 jQuery
vue select 获取value和lable操作
Aug 28 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转成EXE文件
2006/10/09 PHP
聊天室php&mysql(四)
2006/10/09 PHP
2个比较经典的PHP加密解密函数分享
2014/07/01 PHP
php校验表单检测字段是否为空的方法
2015/03/20 PHP
使用PHPMailer发送邮件实例
2017/02/15 PHP
thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
2019/10/10 PHP
NodeJS制作爬虫全过程(续)
2014/12/22 NodeJs
JS实现的左侧竖向滑动菜单效果代码
2015/10/19 Javascript
jquery自定义插件——window的实现【示例代码】
2016/05/06 Javascript
基于JavaScript实现移动端无限加载分页
2017/03/27 Javascript
jquery动态赋值id与动态取id方法示例
2017/08/21 jQuery
IE8中jQuery.load()加载页面不显示的原因
2018/11/15 jQuery
Centos7 安装Node.js10以上版本的方法步骤
2019/10/15 Javascript
原生js实现商品筛选功能
2019/10/28 Javascript
vue a标签点击实现赋值方式
2020/09/07 Javascript
用Nodejs实现在终端中炒股的实现
2020/10/18 NodeJs
Python字符串的encode与decode研究心得乱码问题解决方法
2009/03/23 Python
python中模块查找的原理与方法详解
2017/08/11 Python
pyqt5自定义信号实例解析
2018/01/31 Python
使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”
2018/03/23 Python
Centos下实现安装Python3.6和Python2共存
2018/08/15 Python
Python中flatten( )函数及函数用法详解
2018/11/02 Python
python对 MySQL 数据库进行增删改查的脚本
2020/10/22 Python
python3字符串输出常见面试题总结
2020/12/01 Python
Python的collections模块真的很好用
2021/03/01 Python
前端canvas动画如何转成mp4视频的方法
2019/06/17 HTML / CSS
HTML5实现动画效果的方式汇总
2016/02/29 HTML / CSS
MCAKE蛋糕官方网站:一直都是巴黎的味道
2018/02/06 全球购物
以工厂直接定价的传奇性能:Ben Hogan Golf
2019/01/04 全球购物
五分钟演讲稿
2014/04/30 职场文书
服务之星事迹材料
2014/05/03 职场文书
办公室行政主管岗位职责
2015/04/09 职场文书
美丽心灵观后感
2015/06/01 职场文书
2017公司年会主持人开幕词
2016/03/04 职场文书
2019年消防宣传标语集锦
2019/11/21 职场文书
Apache Hudi集成Spark SQL操作hide表
2022/03/31 Servers