gpt4 book ai didi

node.js - Node.JS 中应该避免循环还是有特殊的方法来处理它们?

转载 作者:太空宇宙 更新时间:2023-11-03 21:55:41 27 4
gpt4 key购买 nike

循环被阻塞。他们似乎对 Node.JS 的想法漠不关心。如何处理 for 循环或 while 循环似乎是最佳选择的流程。

例如,如果我想打印一个最多 number * 1000 的随机数表,我需要使用 for 循环。 Node.JS 中有没有特殊的方法来处理这个问题?

最佳答案

循环本身并不坏,但这取决于具体情况。但在大多数情况下,您需要在循环内执行一些异步操作。

所以我个人的偏好是根本不使用循环,而是使用对应的函数(forEach/map/reduce/filter)。这样我的代码库就能保持一致(如果需要,同步循环可以轻松更改为异步循环)。

const myArr = [1, 2, 3];
// sync loops
myArr.forEach(syncLogFunction);
console.log('after sync loop');

function syncLogFunction(entry) {
console.log('sync loop', entry);
}

// now we want to change that into an async operation:
Promise.all(myArr.map(asyncLogFunction))
.then(() => console.log('after async loop'));

function asyncLogFunction(entry) {
console.log('async loop', entry);
return new Promise(resolve => setTimeout(resolve, 100));
}

请注意,您可以轻松地在同步和异步版本之间进行更改,结构几乎保持不变。

希望这能有所帮助。

关于node.js - Node.JS 中应该避免循环还是有特殊的方法来处理它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41896460/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com