node.js的异步
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的异步相关推荐
- 理解Node.js的异步非阻塞I/O模型
对后台服务器编程不清楚,通过在网上查资料也就大概有写了解. Apache对并发请求的处理方式是,对每个请求就创建一个线程处理,这个线程是堵塞的.因为线程的是占用内存的,所以一台服务器能支持的并发线程量 ...
- node.js 多异步之间的协作方案
<深入浅出node.js> P77 学习 ///用于处理多个事件对应一个侦听器的情况var count = 0; var results = {}; var done = function ...
- 前端学习(1321):node.js得异步api
const fs = require('fs');fs.readFile('./1.txt', 'utf8', (err, result1) => {console.log(result1);f ...
- node.js 使用domain模块捕获异步回调中的异常
和其他服务器端语言相比,貌似node.js 对于异常捕捉确实非常困难. 首先你会想到try/catch ,但是在使用过程中我们会发现并没有真正将错误控制在try/catch 语句中. 为什么? 答案是 ...
- node.js异步编程
目录 1.同步API 2.异步API 回调地狱 用promise解决回调地狱 异步函数 Node服务器端编程 1.同步API 只有在当前的API执行完成后,才执行下一个API.代码的执行方式是按照代码 ...
- 在 Node.js 中用子进程操作标准输入/输出
翻译:疯狂的技术宅 原文:http://2ality.com/2018/05/chi... 本文首发微信公众号:jingchengyideng 欢迎关注,每天都给你推送新鲜的前端技术文章 在本中,我们 ...
- 关于node.js的误会
昨天写了篇博客,介绍了一下我对node.js的第一次亲密接触后的感受,以为node.js很小众,出乎我意料很多人感兴趣,并且对博客中的细节问题做了评论,最多的是围绕node.js的异步与单线程展开的, ...
- 《Node.js开发指南》书评汇总
刚查了下库存,发现订阅<Node.js开发指南>的读者大增,这是为什么呢?看了下近期本书在豆瓣的评论,口碑很好,现将豆瓣的书评汇总如下: ------------------------- ...
- 【深入浅出Node.js系列十一】Node.js开发框架Express4.x
为什么80%的码农都做不了架构师?>>> #0 系列目录# 深入浅出Node.js系列 [深入浅出Node.js系列一]什么是Node.js [深入浅出Node.js系列二]N ...
最新文章
- 覆盖你 80 % 网络生活的,竟是这样一家神秘实验室
- 密码篇——对称加密—3DES
- python声明编码作用_Python源代码中的编码声明字符串的作用
- Day11多态部分-1 【1.1 多态的体现】
- PHP7新增的主要特性
- 想说爱你不容易 | 使用最小 WEB API 实现文件上传
- parcel react_如何使用Parcel设置React应用
- 欧几里得gcd/extend_gcd
- Domino的压缩数据库的Load Compact命令
- GIt -- Window下配置 git
- CSS3常用选择器(三)
- python fun函数的功能是_python编程。假定输入字符串中只包含字母和*号,请编写函数fun,它的功能是将字符串中间的*号...
- 凸优化第九章无约束优化 9.2 下降方法
- 微信小程序学习心得----订咖啡
- 望一望漫天星光(随笔)
- 爬虫小程序 - 单词量测试
- 互联网金融-资金账户系统设计
- 编写两个过滤器,一个过滤器在 web 服务时,起用 UTF-8 编码,以处理 web 服务时的乱码问题。 另一个过滤器用来判断用户是否登录,只有登录用户方可访问/view 子目录。
- 诊断DB2 Java应用程序的性能问题
- JAVA的环境变量设置