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 相关文章推荐
JQuery里面的几种选择器 查找满足条件的元素$("#控件ID")
Aug 23 Javascript
js换图片效果可进行定时操作
Jun 09 Javascript
JS实现来回出现文字的状态栏特效代码
Oct 31 Javascript
基于Node.js的强大爬虫 能直接发布抓取的文章哦
Jan 10 Javascript
json传值以及ajax接收详解
May 24 Javascript
AngularJS下对数组的对比分析
Aug 24 Javascript
JavaScript定义函数的三种实现方法
Sep 23 Javascript
AngularJS实现的根据数量与单价计算总价功能示例
Dec 26 Javascript
vue中axios解决跨域问题和拦截器的使用方法
Mar 07 Javascript
js中的 || 与 && 运算符详解
May 24 Javascript
axios的拦截请求与响应方法
Aug 11 Javascript
Flexible.js可伸缩布局实现方法详解
Nov 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
3.从实例开始
2006/10/09 PHP
js 方法实现返回多个数据的代码
2009/04/30 Javascript
关于JavaScript与HTML的交互事件
2013/04/12 Javascript
基于JavaScript 声明全局变量的三种方式详解
2013/05/07 Javascript
JavaScript获取某年某月的最后一天附截图
2014/06/23 Javascript
JavaScript实现算术平方根算法-代码超简单
2015/09/11 Javascript
jquery仿QQ登录账号选择下拉框效果
2016/03/22 Javascript
BootStrap Fileinput初始化时的一些参数
2016/12/30 Javascript
vue-router+vuex addRoutes实现路由动态加载及菜单动态加载
2017/09/28 Javascript
npm scripts 使用指南详解
2018/10/08 Javascript
linux服务器快速卸载安装node环境(简单上手)
2021/02/22 Javascript
[29:23]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第一场1
2014/05/23 DOTA
[33:15]2018DOTA2亚洲邀请赛3月30日 小组赛B组 VP VS Mineski
2018/03/31 DOTA
安装dbus-python的简要教程
2015/05/05 Python
浅谈numpy库的常用基本操作方法
2018/01/09 Python
python+influxdb+shell编写区域网络状况表
2018/07/27 Python
Pycharm以root权限运行脚本的方法
2019/01/19 Python
Python3使用Matplotlib 绘制精美的数学函数图形
2019/04/11 Python
Python中使用pypdf2合并、分割、加密pdf文件的代码详解
2019/05/21 Python
tensorflow实现二维平面模拟三维数据教程
2020/02/11 Python
Django 解决阿里云部署同步数据库报错的问题
2020/05/14 Python
Spark处理数据排序问题如何避免OOM
2020/05/21 Python
澳洲的服装老品牌:SABA
2018/02/06 全球购物
戴森台湾线上商城:Dyson Taiwan
2018/05/21 全球购物
品质主管岗位职责
2014/03/16 职场文书
初中作文评语大全
2014/04/23 职场文书
安全例会汇报材料
2014/08/23 职场文书
婚礼父母答谢词
2015/01/04 职场文书
2016党员三严三实心得体会
2016/01/15 职场文书
z-index不起作用
2021/03/31 HTML / CSS
Nginx+SpringBoot实现负载均衡的示例
2021/03/31 Servers
Java反应式框架Reactor中的Mono和Flux
2021/07/25 Java/Android
使用jpa之动态插入与修改(重写save)
2021/11/23 Java/Android
一文弄懂MySQL中redo log与binlog的区别
2022/02/15 MySQL
SQL Server数据库查询出现阻塞之性能调优
2022/04/10 SQL Server
Oracle数据库事务的开启与结束详解
2022/06/25 Oracle