2019独角兽企业重金招聘Python工程师标准>>>

node.js 的异步一般是通过回调函数的方式来实现的
这种方式

模块.回调方法名(参数,function(参数){回调处理
})
例如:
var fs = require('fs');filenames = fs.readdirSync(".");
fs.readdir(".", function (err, filenames) {var i;for (i = 0; i < filenames.length; i++) {console.log(filenames[i]);}
});
console.log('Current uid: ' + process.pid); 

需要注意的是,因为异步的特性 ,要注意如果在回调函数之后的操作 是被立即执行的 ,不会等待回调函数处理完成。
所以要注意 如果在回调之后的处理要在整个回调过程执行完之后再执行,需要自己定义一个计数器 类似以下代码

fs = require('fs');
var totalBytes = 0;
filenames = fs.readdirSync(".");count = filenames.length;
for(i = 0;i<filenames.length;i++){fs.stat('./'+filenames[i],function(err,stats){totalBytes += stats.size;count--;if(count === 0){console.log(totalBytes);}});
}

在这个用例中 只有当所有文件的字节数都计算完毕 才会将最后结果打印出来

转载于:https://my.oschina.net/razermike/blog/141120

node.js的异步相关推荐

  1. 理解Node.js的异步非阻塞I/O模型

    对后台服务器编程不清楚,通过在网上查资料也就大概有写了解. Apache对并发请求的处理方式是,对每个请求就创建一个线程处理,这个线程是堵塞的.因为线程的是占用内存的,所以一台服务器能支持的并发线程量 ...

  2. node.js 多异步之间的协作方案

    <深入浅出node.js> P77 学习 ///用于处理多个事件对应一个侦听器的情况var count = 0; var results = {}; var done = function ...

  3. 前端学习(1321):node.js得异步api

    const fs = require('fs');fs.readFile('./1.txt', 'utf8', (err, result1) => {console.log(result1);f ...

  4. node.js 使用domain模块捕获异步回调中的异常

    和其他服务器端语言相比,貌似node.js 对于异常捕捉确实非常困难. 首先你会想到try/catch ,但是在使用过程中我们会发现并没有真正将错误控制在try/catch 语句中. 为什么? 答案是 ...

  5. node.js异步编程

    目录 1.同步API 2.异步API 回调地狱 用promise解决回调地狱 异步函数 Node服务器端编程 1.同步API 只有在当前的API执行完成后,才执行下一个API.代码的执行方式是按照代码 ...

  6. 在 Node.js 中用子进程操作标准输入/输出

    翻译:疯狂的技术宅 原文:http://2ality.com/2018/05/chi... 本文首发微信公众号:jingchengyideng 欢迎关注,每天都给你推送新鲜的前端技术文章 在本中,我们 ...

  7. 关于node.js的误会

    昨天写了篇博客,介绍了一下我对node.js的第一次亲密接触后的感受,以为node.js很小众,出乎我意料很多人感兴趣,并且对博客中的细节问题做了评论,最多的是围绕node.js的异步与单线程展开的, ...

  8. 《Node.js开发指南》书评汇总

    刚查了下库存,发现订阅<Node.js开发指南>的读者大增,这是为什么呢?看了下近期本书在豆瓣的评论,口碑很好,现将豆瓣的书评汇总如下: ------------------------- ...

  9. 【深入浅出Node.js系列十一】Node.js开发框架Express4.x

    为什么80%的码农都做不了架构师?>>>    #0 系列目录# 深入浅出Node.js系列 [深入浅出Node.js系列一]什么是Node.js [深入浅出Node.js系列二]N ...

最新文章

  1. 覆盖你 80 % 网络生活的,竟是这样一家神秘实验室
  2. 密码篇——对称加密—3DES
  3. python声明编码作用_Python源代码中的编码声明字符串的作用
  4. Day11多态部分-1 【1.1 多态的体现】
  5. PHP7新增的主要特性
  6. 想说爱你不容易 | 使用最小 WEB API 实现文件上传
  7. parcel react_如何使用Parcel设置React应用
  8. 欧几里得gcd/extend_gcd
  9. Domino的压缩数据库的Load Compact命令
  10. GIt -- Window下配置 git
  11. CSS3常用选择器(三)
  12. python fun函数的功能是_python编程。假定输入字符串中只包含字母和*号,请编写函数fun,它的功能是将字符串中间的*号...
  13. 凸优化第九章无约束优化 9.2 下降方法
  14. 微信小程序学习心得----订咖啡
  15. 望一望漫天星光(随笔)
  16. 爬虫小程序 - 单词量测试
  17. 互联网金融-资金账户系统设计
  18. 编写两个过滤器,一个过滤器在 web 服务时,起用 UTF-8 编码,以处理 web 服务时的乱码问题。 另一个过滤器用来判断用户是否登录,只有登录用户方可访问/view 子目录。
  19. 诊断DB2 Java应用程序的性能问题
  20. JAVA的环境变量设置

热门文章

  1. Mac下使用ABTestingGateway快速搭建灰度网关
  2. 极致真实感受 无边硬屏即将登场
  3. jquery学习之重要知识点
  4. 鑿婂瓙鏇版祴璇曡崏绋縶29C28FD771BA4B0D8693}
  5. J2me Canvas
  6. 用CSS 给网页装潢[3] -构造文本
  7. 应用抽象工厂模式自己动手写一个ioc
  8. [POJ 1003] Hangover C++解题
  9. stl algorithm清单
  10. C语言中:在头文件中使用static定义变量意味着什么?