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

相关文章

  • VSCode launch.json配置详细教程

    VSCode launch.json配置详细教程

    这篇文章主要介绍了vscode 的node.js debugger 的 launch.json 配置详情,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • node制作一个视频帧长图生成器操作分享

    node制作一个视频帧长图生成器操作分享

    这篇文章主要介绍了node制作一个视频帧长图生成器操作分享,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-08-08
  • node内置调试方法总结

    node内置调试方法总结

    这篇文章主要介绍了node内置调试的方法,并把代码做了分享,对此有需要的朋友可以参考学习下。
    2018-02-02
  • 详解nodejs 文本操作模块-fs模块(一)

    详解nodejs 文本操作模块-fs模块(一)

    这篇文章主要介绍了详解nodejs 文本操作模块-fs模块(一),本篇文章详细的介绍了文件及目录的读写操作,有兴趣的可以了解一下。
    2016-12-12
  • Node.js控制台彩色输出的方法与原理实例详解

    Node.js控制台彩色输出的方法与原理实例详解

    这篇文章主要给大家介绍了关于Node.js控制台彩色输出的方法与原理的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Node.js具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-12-12
  • Node使用Nodemailer发送邮件的方法实现

    Node使用Nodemailer发送邮件的方法实现

    这篇文章主要介绍了Node使用Nodemailer发送邮件的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • 教你在heroku云平台上部署Node.js应用

    教你在heroku云平台上部署Node.js应用

    heroku是构建在AWS之上的一个PaaS云平台,现在支持Ruby, Node.js, Python, Java, 和 PHP,代码的部署是通过git进行,编译和运行都是自动的。
    2014-07-07
  • 利用node.js+mongodb如何搭建一个简单登录注册的功能详解

    利用node.js+mongodb如何搭建一个简单登录注册的功能详解

    这篇文章主要给大家介绍了关于利用node.js+mongodb如何搭建一个简单登录注册功能的相关资料,文中通过示例代码介绍非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。
    2017-07-07
  • 使用 Node.js 模拟滑动拼图验证码操作的示例代码

    使用 Node.js 模拟滑动拼图验证码操作的示例代码

    本篇文章主要介绍了使用 Node.js 模拟滑动验证码操作的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • Node.js 多进程处理CPU密集任务的实现

    Node.js 多进程处理CPU密集任务的实现

    这篇文章主要介绍了Node.js 多进程处理CPU密集任务的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05

最新评论