如果对随机性要求比较高,建议用 crypto 模块中的随机数生成方法。
在本地运行服务的时候,是没有问题的,但是部署到服务器上,返回的数总是重复很多次之后才会变化一下
我不了解 Node.js 用的 V8 具体是怎么实现 Math.random 的,由于不同 Node.js 版本使用的 V8 版本也不一样,甚至不同版本的实现方式不一样。如果您观察的现象不是碰巧如此,那么我猜测可能是因为 V8 的 Math.random 依赖机器产生的一些随机性,本地电脑上的各种行为比较复杂(比如会有很多鼠标的移动、键盘输入等随机性较强的行为可供取样帮助生成随机性),但云引擎是统一的容器环境,没有很多随机性很强的行为,所以采样到的随机性不够,导致效果不佳。