【发布时间】:2012-11-12 19:25:47
【问题描述】:
我想在 NodeJS 中创建 X 个随机对象(本例中为 100 个)。这些对象具有随机值,而且我希望它们在 randomIntervals 中创建。为了实现这一点,我编写了与此类似的代码:
i=0;
while (i < 100){
randomNum1 = Math.floor(Math.random()*100);
randomNum2 = Math.floor(Math.random()*100);
randomIntervalTime = Math.floor(Math.random()*100);
timeOutInterval = setTimeout(function(){
return new SomeObject(randomNum1, randomNum2)}, randomIntervalTime);
i++;
}
问题是回调没有保留该值,它只会生成 100 个具有所有相同值的新对象(循环中创建的最后一个值)
我意识到这是因为回调工作方式的一些问题我没有完全掌握,但我的问题是有人如何在 Nodejs 中实现这一点。
【问题讨论】:
-
setTimeout in a for-loop and pass i as value 和许多其他人的完全相同。
-
为什么不在超时内创建随机值?这就像你现在一起创建 100 个对象,然后在以后随机生成它们
-
这可能对 Bergi 有用,实际上将随机函数放入超时,但我试图避免代码混乱。
-
请参阅此内容以了解您的代码中发生的情况:stackoverflow.com/questions/3572480/…
标签: javascript node.js random callback