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 相关文章推荐
破解Session cookie的方法
Jul 28 Javascript
讲两件事:1.this指针的用法小探. 2.ie的attachEvent和firefox的addEventListener在事件处理上的区别
Apr 12 Javascript
jquery的键盘事件修改代码
Feb 24 Javascript
如何通过javascript操作web控件的自定义属性
Nov 25 Javascript
AngularJS中监视Scope变量以及外部调用Scope方法
Jan 23 Javascript
使用vue构建一个上传图片表单
Jul 04 Javascript
不得不看之JavaScript构造函数及new运算符
Aug 21 Javascript
微信小程序实现跟随菜单效果和循环嵌套加载数据
Nov 21 Javascript
微信小程序版翻牌小游戏
Jan 26 Javascript
vue-cli3+typescript新建一个项目的思路分析
Aug 06 Javascript
微信小程序基于ColorUI构建皮皮虾短视频去水印组件
Nov 04 Javascript
JS异步堆栈追踪之为什么await胜过Promise
Apr 28 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
一个ubbcode的函数,速度很快.
2006/10/09 PHP
一个PHP验证码类代码分享(已封装成类)
2011/07/17 PHP
php session的锁和并发
2016/01/22 PHP
PHP扩展mcrypt实现的AES加密功能示例
2019/01/29 PHP
php设计模式之单例模式用法经典示例分析
2019/09/20 PHP
javaScript parseInt字符转化为数字函数使用小结
2009/11/05 Javascript
使用Java实现简单的server/client回显功能的方法介绍
2013/05/03 Javascript
jQuery学习笔记之jQuery.fn.init()的参数分析
2014/06/09 Javascript
JS实现控制表格行内容垂直对齐的方法
2015/03/30 Javascript
.NET微信公众号开发之创建自定义菜单
2015/07/16 Javascript
jQuery+ajax+asp.net获取Json值的方法
2016/06/08 Javascript
JavaScript中this的用法及this在不同应用场景的作用解析
2017/04/13 Javascript
基于node下的http小爬虫的示例代码
2018/01/11 Javascript
详解angular分页插件tm.pagination二次触发问题解决方案
2018/07/20 Javascript
nodejs初始化init的示例代码
2018/10/10 NodeJs
如何使用puppet替换文件中的string
2018/12/06 Javascript
使用VueCli3+TypeScript+Vuex一步步构建todoList的方法
2019/07/25 Javascript
Javascript组合继承方法代码实例解析
2020/04/02 Javascript
python随机取list中的元素方法
2018/04/08 Python
python 利用栈和队列模拟递归的过程
2018/05/29 Python
python实现zabbix发送短信脚本
2018/09/17 Python
APIStar:一个专为Python3设计的API框架
2018/09/26 Python
使用django的ORM框架按月统计近一年内的数据方法
2019/07/18 Python
超实用的 30 段 Python 案例
2019/10/10 Python
解决pandas展示数据输出时列名不能对齐的问题
2019/11/18 Python
nginx+uwsgi+django环境搭建的方法步骤
2019/11/25 Python
Python reversed反转序列并生成可迭代对象
2020/10/22 Python
美体小铺加拿大官方网站:The Body Shop加拿大
2016/10/30 全球购物
新西兰便宜隐形眼镜购买网站:QUICKLENS New Zealand
2019/03/02 全球购物
Currentbody德国站:健康与美容技术专家
2020/04/05 全球购物
轻金属冶金专业毕业生自荐信
2013/11/02 职场文书
供应链金融服务方案
2014/05/25 职场文书
中药学专业求职信
2014/05/31 职场文书
119消防日活动总结
2014/08/29 职场文书
大学生见习报告范文
2014/11/03 职场文书
教师工作能力自我评价
2015/03/04 职场文书