我需要在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;
}
但似乎并非异步。我是否需要担心它不是异步?还有其他方法吗?
答案 0 :(得分:1)
我认为你不必担心它不是异步(我假设你担心你的代码被阻塞了吗?)。
使用默认长度(32)和1.000.000调用的代码的简单基准测试在我的MBP上运行大约1.2秒,因此非常快。
如果您想进一步加快代码速度,可以试试这个:
var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'.split('');
...
string += chars[randomNumber];
这使我的测试运行速度快了两倍。