我需要在nodejs应用程序中创建一些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;
}但它似乎不是异步的。我需要担心它不是异步的吗?还有别的路吗?
发布于 2013-04-23 19:06:51
我认为你不必担心它不是异步的(我假设你担心你的代码被阻塞了?)。
在我的MBP上,使用默认长度(32)和1.000.000调用的代码的一个简单基准测试大约在1.2秒内运行,所以这是相当快的。
如果你想进一步加速你的代码,你可以尝试这样做:
var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'.split('');
...
string += chars[randomNumber];这使得我的测试运行速度提高了大约两倍。
https://stackoverflow.com/questions/16167153
复制相似问题