在JavaScript和Node.js中,Array.forEach是异步运行的吗?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (8)
  • 关注 (0)
  • 查看 (404)

在JavaScript中,Array.forEach是异步运行的吗?假设我调用以下代码:

[many many elements].forEach(function () {lots of work to do})

这会是非阻塞的吗?

提问于
用户回答回答于

可以按照以下方式编写解决方案:

 var loop = function(i, data, callback) {
    if (i < data.length) {
        //TODO("SELECT * FROM stackoverflowUsers;", function(res) {
            //data[i].meta = res;
            console.log(i, data[i].title);
            return loop(i+1, data, errors, callback);
        //});
    } else {
       return callback(data);
    }
};

loop(0, [{"title": "hello"}, {"title": "world"}], function(data) {
    console.log("DONE\n"+data);
});

另一方面,它比“for”慢得多。

https://caolan.github.io/async/docs.html#each

热门问答

快照容量与费用的比例?如何关闭停用?

帅的惊动我国计算机大神
推荐已采纳
快照已于2019年1月22日0时启动正式商业化进程,商业化后所有存量快照和新产生的快照将根据快照使用的存储容量进行收费。 在快照商业化后,腾讯云仍旧会在国内主要地域为用户提供一定量的免费额度。免费额度策略如下: 免费额度覆盖范围为中国大陆地域,中国香港及海外地域暂无免费快照额...... 展开详请

对象存储数据三副本问题,谢谢 ?

波斯狗儿对象存储产品经理
推荐已采纳

1 COS 不完全使用副本的方式保存,数据调度能力属于我们的产品核心竞争力,具体实现方式一般不披露。

2 副本对用户是不感知的,COS 是一个最终一致性的存储,如果发起删除导致数据丢失,所有的数据都会被删除。

cvm用户退租以后,什么时间数据会被抹掉?

推荐已采纳

包年包月到期不交钱,7天后抹掉。

购买短时长的的,退租立刻抹掉。

准备开通企业档案云存储,分级授权低级”在线查阅权“,中”上传、编辑名称、移动“、高级”全部操作“?

许金泉

腾讯 · 高级工程师 (已认证)

腾讯云COS前端开发
推荐
可以通过存储桶权限配置里的 Policy权限设置。 查阅是 name/cos:GetObject 和 name/cos:HeadObject 修改如果是调用简单上传是 name/cos:PutObject 全部操作是 name/cos:*... 展开详请

语音识别中‘InvalidParameterValue.ErrorInvalidVoicedata?

腾讯云智能语音服务员

腾讯 · 社区FAQ (已认证)

推荐

这边如果无法确定音频数据的准确性,建议使用SourceType(语音数据来源)为0,即语音URL的方式进行音频数据的传输。可将音频数据放在腾讯云对象存储的服务上,然后在Url参数上填写公网可下载的音频,发送请求进行识别。

通过APP上传的图片到对象存储,缩略图的处理最佳建议是什么?

许金泉

腾讯 · 高级工程师 (已认证)

腾讯云COS前端开发
推荐

所属标签

扫码关注云+社区