Nodejs随机数的异步

时间:2013-04-23 10:35:03

标签: node.js

我需要在nodejs app中创建4-5长度的随机字符。 这是我找到的一个模块。

var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';
exports.generate = function(length) {
 length = length ? length : 32;
 var string = '';
 for (var i = 0; i < length; i++) {
  var randomNumber = Math.floor(Math.random() * chars.length);
  string += chars.substring(randomNumber, randomNumber + 1);
 }
 return string;
}

但似乎并非异步。我是否需要担心它不是异步?还有其他方法吗?

1 个答案:

答案 0 :(得分:1)

我认为你不必担心它不是异步(我假设你担心你的代码被阻塞了吗?)。

使用默认长度(32)和1.000.000调用的代码的简单基准测试在我的MBP上运行大约1.2秒,因此非常快。

如果您想进一步加快代码速度,可以试试这个:

var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'.split('');
...
string += chars[randomNumber];

这使我的测试运行速度快了两倍。