Node.js 回调函数

Node.js 异步编程的直接体现就是回调。

异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。

回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,Node 所有 API 都支持回调函数。

例如,我们可以一边读取文件,一边执行其他命令,在文件读取完成后,我们将文件内容作为回调函数的参数返回。这样在执行代码时就没有阻塞或等待文件 I/O 操作。这就大大提高了 Node.js 的性能,可以处理大量的并发请求。

阻塞代码实例

创建一个文件 input.txt ,内容如下:

testNodeJS:hello world

创建 main.js 文件, 代码如下:

var fs = require("fs");

var data = fs.readFileSync('input.txt');

console.log(data.toString());
console.log("程序执行结束!");

非阻塞代码实例

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
程序执行结束!
testNodeJS:hello world

最新文章

  1. SNMP简单网络管理协议
  2. Log.properties配置详解
  3. Const和ReadOnly区别及其用途--转载
  4. POJ2229 - Sumsets(完全背包)
  5. WdatePicker 控制选择范围
  6. d3可视化实战03:神奇的superformula
  7. Python之函数返回多个值
  8. 大数运算的算法设计和C++实现
  9. iPhone多次输入错误密码锁机后刷机恢复(原有内容会丢失)
  10. mysql主从复制、redis基础、持久化和主从复制
  11. 企业架构设计之IFW实践回顾
  12. Spring声明式事务配置
  13. 理解OpenShift(3):网络之 SDN
  14. 洛谷P5234 越狱老虎桥 [JSOI2012] tarjan
  15. [转] Java 基础
  16. php for 循环使用实例介绍
  17. 经典算法 KMP算法详解
  18. VS2010 MFC 使用GDI+给图片添加汉字
  19. org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 12 in XML document from
  20. Discuz常见小问题-如何发布站点公告

热门文章

  1. DLL生成与使用的全过程
  2. 初识Hibernate之理解持久化类
  3. windows访问控制列表 --ACL(Access Control List)
  4. Jquery 使用Ajax获取后台返回的Json数据后,页面处理
  5. sqlserver 2005连接超时采用bat命令解决
  6. wampserver里面出现403错误的问题解决方法
  7. cocos2dx - android环境配置及编译
  8. 【转载】jQuery动画中的queue()函数
  9. 数据库中有的字段为null时,反馈到页面上是什么也不显示?如何用一个【无】字来代替呢?
  10. RT5350 OpenWrt 系统移植jsoncpp