node.js 回调函数
Node.js 回调函数
Node.js 异步编程的直接体现就是回调。
异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。
回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,Node 所有 API 都支持回调函数。
例如,我们可以一边读取文件,一边执行其他命令,在文件读取完成后,我们将文件内容作为回调函数的参数返回。这样在执行代码时就没有阻塞或等待文件 I/O 操作。这就大大提高了 Node.js 的性能,可以处理大量的并发请求。
阻塞代码实例
创建一个文件 input.txt ,内容如下:
菜鸟教程官网地址:www.runoob.com
创建 main.js 文件, 代码如下:
var fs = require("fs");var data = fs.readFileSync('input.txt');console.log(data.toString()); console.log("程序执行结束!");
以上代码执行结果如下:
$ node main.js 菜鸟教程官网地址:www.runoob.com程序执行结束!
非阻塞代码实例
创建一个文件 input.txt ,内容如下:
菜鸟教程官网地址:www.runoob.com
创建 main.js 文件, 代码如下:
var fs = require("fs");fs.readFile('input.txt', function (err, data) {if (err) return console.error(err);console.log(data.toString()); });console.log("程序执行结束!");
以上代码执行结果如下:
$ node main.js 程序执行结束! 菜鸟教程官网地址:www.runoob.com
以上两个实例我们了解了阻塞与非阻塞调用的不同。第一个实例在文件读取完后才执行完程序。 第二个实例我们呢不需要等待文件读取完,这样就可以在读取文件时同时执行接下来的代码,大大提高了程序的性能。
因此,阻塞按是按顺序执行的,而非阻塞是不需要按顺序的,所以如果需要处理回调函数的参数,我们就需要写在回调函数内。
一个fs.readFileSync的问题
var fs = require('fs'); fs.readFile('file.txt', 'utf-8', function(err, data) { if(err) { console.error(err); } else { console.log("readFile"); } }); console.log('end. of readFile'); var data2 = fs.readFileSync('file.txt', 'utf-8'); console.log("readFileSync"); console.log('end. of readFileSync')
结果:
$ node main.js
end. of readFile
readFileSync
end. of readFileSync
readFile
异步调用 执行完后方执行读取结果 若多个异步将按加载完成先后调用
复制地址:http://www.runoob.com/nodejs/nodejs-callback.html
转载于:https://www.cnblogs.com/yitongjiangshan/p/5581316.html
node.js 回调函数相关推荐
- [Node.js]回调函数
简介 Node.Js异步编程的直接表现方式就是回调.异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了.回调函数在完成任务后就会被调用,Node使用了大量的回调函数,node所有api都支持 ...
- 17.Node.js 回调函数--异步编程
转自:http://www.runoob.com/nodejs/nodejs-tutorial.html Node.js 异步编程的直接体现就是回调. 异步编程依托于回调来实现,但不能说使用了回调后程 ...
- Node.js —— 回调函数callback
一.什么是回调函数 1.回调函数是作为参数传递给另一个函数 2.回调函数是一段可执行的代码段,它作为一个参数传递给其他的代码,其作用是在需要的时候方便调用这段(回调函数)代码 3. 函数运行完成,再执 ...
- Node.js回调函数
- html js 回调函数,js中回调函数的学习笔记
回调函数是什么在学习之前还真不知道js回调函数怎么使用及作用了,下面本文章把我在学习回调函数例子给各位同学介绍一下吧,有需了解的同学不防进入参考. 回调函数原理: 我现在出发,到了通知你" ...
- 【转】JS回调函数--简单易懂有实例
JS回调函数--简单易懂有实例 初学js的时候,被回调函数搞得很晕,现在回过头来总结一下什么是回调函数. 我们先来看看回调的英文定义:A callback is a function that is ...
- JS回调函数(callback)
在使用Jquery的时候,用到Callback(),回调函数的概念.而且很多. 比如: $.ajax({url:"test.json",type: "GET", ...
- js回调函数的理解(轉)
js回调函数(callback)理解Mark!讲之前说一句function say(){alert(,,,,,,,,)}var say=function (){alert(,,,,,,,)}var s ...
- Node.js 功能函数
Node.js 功能函数Node.js 功能函数Node.js 功能函数Node.js 功能函数Node.js 功能函数Node.js 功能函数 最近在项目中经常用到的一些JavaScript fun ...
最新文章
- 2019全新学习路线图发布
- 功能自动化测试工具列表大全
- Jrebel最新激活破解方式
- JS面向对象,创建,继承
- 利用js实现popup弹窗
- 研究者展示黑客通过GPU绕过防毒软件查杀的方法
- 前端学习(2529):搭建中央管理
- 查询 oracle_ORACLE数据库查询语句
- SQLExecption:Operation not allowed after ResultSet closed解决办法
- 寒假集训日志(二)——最小生成树,拓扑排序,欧拉回路,连通路
- TensorFlow 实战(三)—— 实现常见公式
- 拓端tecdat|R语言隐马尔可夫模型HMM识别不断变化的市场条件
- vue-router 修改或添加新参数
- 单片机交通灯实训c语言编程,单片机交通灯程序(C语言).docx
- PowerPCB转Protel 99的详细教程
- linux startx 后返回命令行,输入命令: startx 反过来
- matlab里面sin函数是角度,matlab-如何用matlab编写sin函数要求定义一 – 手机爱问
- 郭天祥写的《我的大学》
- Tuscany SCA软件架构设计理念分析鉴赏 (一)
- Python【3】:格式化输出
热门文章
- linux 时间戳 c语言,C语言实现字符转unix时间戳
- python绘制正态分布函数_Python数据清洗(三):异常值识别与处理
- 微信中打开h5页面,直接关闭窗口js
- java 文件crc校验_Java 对文件进行 CRC32 校验
- python自动测试g_python自动化测试报告(excel篇)
- python plot函数label_python – Matplotlib Contour Clabel位置
- 通过url路径下载服务器文件
- 服务器系统分区 是啥,服务器系统盘分区
- 计算两个经纬度的距离_HTML5 地理定位+地图 API:计算用户到商家的距离
- java表格怎么添加按钮_1.6.2 在表格中添加按钮