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

 更新时间:2015年01月29日 08:47:13   作者:ImYZF  
这篇文章主要讨论并验证了node.js中的forEach()是同步还是异步,思路和方法分享给大家,有需要的小伙伴可以参考下。

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创作

相关文章

  • Express本地测试HTTPS的示例代码

    Express本地测试HTTPS的示例代码

    这篇文章主要介绍了Express本地测试HTTPS的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • Node.js学习之查询字符串解析querystring详解

    Node.js学习之查询字符串解析querystring详解

    这篇文章主要给大家介绍了关于Node.js查询字符串解析querystring的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用node.js具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-09-09
  • node.js中Buffer缓冲器的原理与使用方法分析

    node.js中Buffer缓冲器的原理与使用方法分析

    这篇文章主要介绍了node.js中Buffer缓冲器的原理与使用方法,结合实例形式分析了node.js Buffer缓冲器的基本概念、原理、创建、使用方法及相关操作注意事项,需要的朋友可以参考下
    2019-11-11
  • 浅谈NodeJS中require路径问题

    浅谈NodeJS中require路径问题

    学习Nodejs也是出于对这个新产物的好奇,而且有两个重要项目也需要他的支持,所以要好好学学这个新语种。在nodejs中,模块大概可以分为核心模块和文件模块。核心模块是被编译成二进制代码,引用的时候只需require表示符即可
    2015-05-05
  • Nest.js散列与加密实例详解

    Nest.js散列与加密实例详解

    这篇文章主要给大家介绍了关于Nest.js散列与加密的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • 利用node.js启动本地服务器的操作指南(超详细)

    利用node.js启动本地服务器的操作指南(超详细)

    这篇文章主要介绍了利用node.js启动本地服务器的操作指南(超详细),有很多小伙伴制作网站或者小程序时,需要通过服务器来把前端和后端连接起来,那么我们今天学习启动node.js服务器,文中有详细的代码示例和图文供大家参考,具有一定的参考价值,需要的朋友可以参考下
    2024-05-05
  • 使用Node.js实现HTTP 206内容分片的教程

    使用Node.js实现HTTP 206内容分片的教程

    这篇文章主要介绍了使用Node.js实现HTTP 206内容分片的教程,Node.js是一款用于服务器端的JavaScript框架,需要的朋友可以参考下
    2015-06-06
  • node.js实现端口转发

    node.js实现端口转发

    这篇文章主要为大家详细介绍了node.js实现端口转发的关键代码,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • Nodejs实现微信分账的示例代码

    Nodejs实现微信分账的示例代码

    这篇文章主要介绍了Nodejs实现微信分账的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • nodejs的10个性能优化技巧

    nodejs的10个性能优化技巧

    在我接触JavaScript(无论浏览器还是NodeJS)的时间里,总是遇到有朋友有多线程的需求。而在NodeJS方面,有朋友甚至直接说到,NodeJS是单线程的,无法很好的利用多核CPU。那么我们在使用过程中,就要非常注意性能优化了
    2014-07-07

最新评论