我知道nodejs中的foreach是阻塞的。 我正在开发nodejs中的API服务器,我需要通过req.body解析以生成某种签名来验证请求。所以我的问题是如果我在req.body上使用forEach它会阻止其他请求吗?如果它阻塞,如何克服它?
答案 0 :(得分:2)
forEach是阻塞的,但对于大多数用例来说,只要你的array.length * function.runTime不是很大,除非你正在进行IO或加密,否则它不应该是非常大的。如果您正在使用长时间运行,则可以使用async.forEach(https://github.com/caolan/async)替换forEach
答案 1 :(得分:0)
我发现async非常适合服务器端的短工作 - 但是如果你想要更轻松的东西并且可以处理更少的润色,你可以调整其中一个:http://book.mixu.net/ch7.html
从我的经验中获得更快的速度......在低功耗嵌入式设备或低端服务器上运行时这一点非常重要