node.js中的forEach()是同步还是异步呢


Posted in Javascript onJanuary 29, 2015

node里几乎所有用到回调函数的地方,都是异步的,回调函数后面的代码很可能比回调函数中的代码后先执行,特别是数据库操作。当然,node也提供了同步版本的函数,例如文件操作,fs.readFileSync()是fs.readFile()的同步版本。

那么问题来了,forEach()是不是异步的呢?按理说,没有加Sync,应该是异步的呀。

 var arr = ['a', 'b', 'c'];

 var str = '123';

 arr.forEach(function(item) {

   str += item;

   while (true) {};  //用一个死循环,卡死它~~

 });

 console.log(str);

运行上面的代码,结果它就这么卡死了,没有任何输出。。

所以说,node里的forEach()是同步的!!

第一次用node的时候,没有考虑过这个问题,按同步的写了,写突然想到,测试后虚惊一场,以为以前的代码都写错了。

如果在某些情况下,需要异步处理forEach,谷歌了一下,有个node-array,可以试试看~~ 传送门:https://github.com/cfsghost/node-array

本作品由http://www.cnblogs.com/ImYZF创作

Javascript 相关文章推荐
11款基于Javascript的文件管理器
Oct 25 Javascript
基于JavaScript实现继承机制之调用call()与apply()的方法详解
May 07 Javascript
js获得网页背景色和字体色的方法
Mar 21 Javascript
关于Javascript加载执行优化的研究报告
Dec 16 Javascript
实例代码讲解jquery easyui动态tab页
Nov 17 Javascript
jQuery1.9.1源码分析系列(十六)ajax之ajax框架
Dec 04 Javascript
jquery实现二级导航下拉菜单效果
Dec 18 Javascript
超漂亮的Bootstrap 富文本编辑器summernote
Apr 05 Javascript
Javascript中的迭代、归并方法详解
Jun 14 Javascript
AngularJs $parse、$eval和$observe、$watch详解
Sep 21 Javascript
JavaScript 最佳实践:帮你提升代码质量
Dec 03 Javascript
JS正则表达式判断有效数实例代码
Mar 13 Javascript
Node.js事件循环(Event Loop)和线程池详解
Jan 28 #Javascript
使用Sticker.js实现贴纸效果
Jan 28 #Javascript
javascript实现瀑布流自适应遇到的问题及解决方案
Jan 28 #Javascript
7个让JavaScript变得更好的注意事项
Jan 28 #Javascript
简单谈谈javascript代码复用模式
Jan 28 #Javascript
JS动态添加Table的TR,TD实现方法
Jan 28 #Javascript
扒一扒JavaScript 预解释
Jan 28 #Javascript
You might like
压力如何影响浓缩咖啡品质
2021/03/03 咖啡文化
开发大型PHP项目的方法
2006/10/09 PHP
解决phpmyadmin中缺少mysqli扩展问题的方法
2013/05/06 PHP
实例讲解php数据访问
2016/05/09 PHP
thinkphp3.x中变量的获取和过滤方法详解
2016/05/20 PHP
thinkPHP5.0框架API优化后的友好性分析
2017/03/17 PHP
PHP简单计算两个时间差的方法示例
2017/06/20 PHP
原生php实现excel文件读写的方法分析
2018/04/25 PHP
PHP使用CURL实现下载文件功能示例
2019/06/03 PHP
Thinkphp页面跳转设置跳转等待时间的操作
2019/10/16 PHP
ThinkPHP5与单元测试PHPUnit使用详解
2020/02/23 PHP
用jquery实现等比例缩放图片效果插件
2010/07/24 Javascript
javascript权威指南 学习笔记之javascript数据类型
2011/09/24 Javascript
jquery实现全选功能效果的实现代码
2016/05/05 Javascript
JQuery validate 验证一个单独的表单元素实例
2017/02/17 Javascript
Vue.js实现图片的随意拖动方法
2018/03/08 Javascript
vue+elementUI实现表单和图片上传及验证功能示例
2019/05/14 Javascript
jQuery实现点击滚动到指定元素上的方法分析
2020/03/19 jQuery
放弃 Python 转向 Go语言有人给出了 9 大理由
2017/10/20 Python
Python使用add_subplot与subplot画子图操作示例
2018/06/01 Python
Python 从列表中取值和取索引的方法
2018/12/25 Python
Django rstful登陆认证并检查session是否过期代码实例
2019/08/13 Python
利用django model save方法对未更改的字段依然进行了保存
2020/03/28 Python
法国发饰品牌:Alexandre De Paris
2018/12/04 全球购物
小学运动会表扬稿
2014/01/19 职场文书
电子信息专业自荐书
2014/02/04 职场文书
公司贷款承诺书
2014/05/30 职场文书
2014年保育员工作总结
2014/12/02 职场文书
2014幼儿教师个人工作总结
2014/12/03 职场文书
委托书格式要求
2015/01/28 职场文书
2015年创先争优活动总结
2015/03/27 职场文书
小学三年级数学教学反思
2016/02/16 职场文书
一行代码python实现文件共享服务器
2021/04/22 Python
mysql对于模糊查询like的一些汇总
2021/05/09 MySQL
解决Jenkins集成SonarQube遇到的报错问题
2021/07/15 Java/Android
KVM基础命令详解
2022/04/30 Servers