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-Mozilla和IE中的一个函数直接量的问题分析
Aug 12 Javascript
关于二级域名下使用一级域名下的COOKIE的问题
Nov 07 Javascript
javascript dom追加内容实现示例
Sep 21 Javascript
JavaScript中判断页面关闭、页面刷新的实现代码
Aug 27 Javascript
高性能JavaScript模板引擎实现原理详解
Feb 05 Javascript
js简单实现点击左右运动的方法
Apr 10 Javascript
jQuery实现可关闭固定于底(顶)部的工具条菜单效果
Nov 06 Javascript
详解页面滚动值scrollTop在FireFox与Chrome浏览器间的兼容问题
Dec 03 Javascript
Angular2中如何使用ngx-translate进行国际化
May 21 Javascript
在vue项目中,将juery设置为全局变量的方法
Sep 25 Javascript
webpack的pitching loader详解
Sep 23 Javascript
Vue项目环境搭建详细总结
Sep 26 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防止跨域提交表单
2013/11/01 PHP
JSON用法之将PHP数组转JS数组,JS如何接收PHP数组
2015/10/08 PHP
PHP中in_array函数使用的问题与解决办法
2016/09/11 PHP
php封装的mongodb操作类代码
2017/08/06 PHP
js 获取元素下面所有li的两种方法
2014/04/14 Javascript
jquery实现的仿天猫侧导航tab切换效果
2015/08/24 Javascript
jquery.mousewheel实现整屏翻屏效果
2015/08/30 Javascript
Web开发必知Javascript技巧大全
2016/02/23 Javascript
Jquery实现select multiple左右添加和删除功能的简单实例
2016/05/26 Javascript
使用json来定义函数,在里面可以定义多个函数的实现方法
2016/10/28 Javascript
老生常谈jquery中detach()和remove()的区别
2017/03/02 Javascript
微信小程序开发背景图显示功能
2018/08/08 Javascript
Vue自定义toast组件的实例代码
2018/08/15 Javascript
详解在vue-cli中使用graphql即vue-apollo的用法
2018/09/08 Javascript
vue自定义js图片碎片轮播图切换效果的实现代码
2019/04/28 Javascript
JS匿名函数内部this指向问题详析
2019/05/10 Javascript
layui table 复选框跳页后再回来保持原来选中的状态示例
2019/10/26 Javascript
使用Taro实现小程序商城的购物车功能模块的实例代码
2020/06/05 Javascript
Ant Design的Table组件去除
2020/10/24 Javascript
用Javascript实现发送短信验证码间隔功能
2021/02/08 Javascript
python文件操作整理汇总
2014/10/21 Python
基于Python中capitalize()与title()的区别详解
2017/12/09 Python
Python输出由1,2,3,4组成的互不相同且无重复的三位数
2018/02/01 Python
Django框架首页和登录页分离操作示例
2019/05/28 Python
django foreignkey(外键)的实现
2019/07/29 Python
Python新手学习函数默认参数设置
2020/06/03 Python
刚毕业大学生自荐信范文
2014/02/20 职场文书
岗位竞聘书范文
2014/03/31 职场文书
煤矿安全生产责任书
2014/04/15 职场文书
局机关干部群众路线个人对照检查材料思想汇报
2014/10/05 职场文书
教师政风行风自查自纠报告
2014/10/21 职场文书
2014年监理工作总结范文
2014/11/17 职场文书
离职证明范本
2015/06/12 职场文书
爱国主题班会教案
2015/08/14 职场文书
如何写好一份优秀的工作总结?
2019/06/21 职场文书
git中cherry-pick命令的使用教程
2022/06/25 Servers