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 new Date() 出现NaN 的分析
Oct 23 Javascript
javascript采用数组实现tab菜单切换效果
Dec 12 Javascript
js文本框输入点回车触发确定兼容IE、FF等
Nov 19 Javascript
jQuery入门之层次选择器实例简析
Dec 11 Javascript
BootStrap中按钮点击后被禁用按钮的最佳实现方法
Sep 23 Javascript
Javascript highcharts 饼图显示数量和百分比实例代码
Dec 06 Javascript
jQuery源码解读之extend()与工具方法、实例方法详解
Mar 30 jQuery
vue表单绑定实现多选框和下拉列表的实例
Aug 12 Javascript
Vue 创建组件的两种方法小结(必看)
Feb 23 Javascript
JavaScript实现身份证验证代码实例
Aug 26 Javascript
Element Backtop回到顶部的具体使用
Jul 27 Javascript
Vue如何实现变量表达式选择器
Feb 18 Vue.js
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
详解:――如何将图片储存在数据库里
2006/12/05 PHP
实用函数9
2007/11/08 PHP
php生成随机数或者字符串的代码
2008/09/05 PHP
非常好用的两个PHP函数 serialize()和unserialize()
2012/02/04 PHP
PHP中$GLOBALS与global的区别详解
2019/03/21 PHP
php进行md5加密简单实例方法
2019/09/19 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
2020/03/23 PHP
RGB颜色值转HTML十六进制(HEX)代码的JS函数
2009/04/25 Javascript
jQuery:节点(插入,复制,替换,删除)操作
2013/03/04 Javascript
javascript拖拽上传类库DropzoneJS使用方法
2013/12/05 Javascript
javascript eval(func())使用示例
2013/12/05 Javascript
Javascript中的几种URL编码方法比较
2015/01/23 Javascript
理解js回收机制通俗易懂版
2016/02/29 Javascript
jQuery得到多个值只能用取Class ,不能用取ID的方法
2016/12/04 Javascript
教大家轻松制作Bootstrap漂亮表格(table)
2016/12/13 Javascript
bootstrap 下拉多选框进行多选传值问题代码分析
2017/02/14 Javascript
vue.js删除动态绑定的radio的指定项
2017/06/02 Javascript
基于IView中on-change属性的使用详解
2018/03/15 Javascript
React Hooks的深入理解与使用
2018/11/12 Javascript
node微信开发之获取access_token+自定义菜单
2019/03/17 Javascript
Vue通过WebSocket建立长连接的实现代码
2019/11/05 Javascript
python实时获取外部程序输出结果的方法
2019/01/12 Python
Python unittest基本使用方法代码实例
2020/06/29 Python
CSS3实现时间轴效果
2016/07/11 HTML / CSS
HTML5之web workers_动力节点Java学院整理
2017/07/17 HTML / CSS
链表面试题-一个链表的结点结构
2015/05/04 面试题
人大代表选举标语
2014/10/07 职场文书
精神病医院见习报告
2014/11/03 职场文书
高校教师个人工作总结2014
2014/12/17 职场文书
建党伟业观后感
2015/06/01 职场文书
《飘》英文读后感五篇
2019/10/11 职场文书
如何将numpy二维数组中的np.nan值替换为指定的值
2021/05/14 Python
详解Vue的sync修饰符
2021/05/15 Vue.js
Redis Cluster 字段模糊匹配及删除
2021/05/27 Redis
详解SQL报错盲注
2022/07/23 SQL Server
win10输入法不见了只能打出字母怎么解决?
2022/08/05 数码科技