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 相关文章推荐
JS鼠标事件大全 推荐收藏
Nov 01 Javascript
使用闭包对setTimeout进行简单封装避免出错
Jul 10 Javascript
jquery获取URL中参数解决中文乱码问题的两种方法
Dec 18 Javascript
jquery等待效果示例
May 01 Javascript
编程语言JavaScript简介
Oct 16 Javascript
jQuery实现统计复选框选中数量
Nov 24 Javascript
JavaScript实现的简单拖拽效果
Jun 01 Javascript
JavaScript编程学习技巧汇总
Feb 21 Javascript
原生js获取元素样式的简单方法
Aug 06 Javascript
jQuery点击页面其他部分隐藏下拉菜单功能
Nov 27 jQuery
JS精确判断数据类型代码实例
Dec 18 Javascript
Nuxt的路由配置和参数传递方式
Nov 06 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
常见PHP数据库解决方案分析介绍
2015/09/24 PHP
正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
2008/09/27 Javascript
JavaScript 创建对象和构造类实现代码
2009/07/30 Javascript
JavaScript中的数学运算介绍
2014/12/29 Javascript
深入分析下javascript中的[]()+!
2015/07/07 Javascript
详解JavaScript时间格式化
2015/12/23 Javascript
详解jQuery UI库中文本输入自动补全功能的用法
2016/04/23 Javascript
关于微信中a链接无法跳转问题
2016/08/02 Javascript
Vue.js第四天学习笔记(组件)
2016/12/02 Javascript
Angular2 PrimeNG分页模块学习
2017/01/14 Javascript
Vue组件选项props实例详解
2017/08/18 Javascript
vue 动态修改a标签的样式的方法
2018/01/18 Javascript
以v-model与promise两种方式实现vue弹窗组件
2018/05/21 Javascript
微信小程序事件 bindtap bindinput代码实例
2019/08/26 Javascript
[02:53]DOTA2亚洲邀请赛 NewBee战队巡礼
2015/02/03 DOTA
[01:02:30]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第三场 8.22
2019/09/05 DOTA
[01:35:53]完美世界DOTA2联赛PWL S3 Magma vs GXR 第二场 12.13
2020/12/17 DOTA
python求crc32值的方法
2014/10/05 Python
简单的编程0基础下Python入门指引
2015/04/01 Python
python实现学员管理系统
2019/02/26 Python
浅谈ROC曲线的最佳阈值如何选取
2020/02/28 Python
解决django的template中如果无法引用MEDIA_URL问题
2020/04/07 Python
Python pip安装模块提示错误解决方案
2020/05/22 Python
python实现xlwt xlrd 指定条件给excel行添加颜色
2020/07/14 Python
如何利用python发送邮件
2020/09/26 Python
Numpy中np.max的用法及np.maximum区别
2020/11/27 Python
用CSS3写的模仿iPhone中的返回按钮
2015/04/04 HTML / CSS
荷兰牛仔裤网上商店:Jeans Centre
2018/04/03 全球购物
英国家庭家具、照明和花园家具购物网站:Furniture123
2018/12/31 全球购物
ASICS印度官方网站:日本专业运动品牌
2020/06/20 全球购物
应届毕业生应聘自荐信
2013/12/07 职场文书
2014高考励志标语
2014/06/05 职场文书
服务标语大全
2014/06/18 职场文书
分析MySQL抛出异常的几种常见解决方式
2021/05/18 MySQL
实例详解Python的进程,线程和协程
2022/03/13 Python
Python代码实现双链表
2022/05/25 Python