真正的随机字符串在Javascript异步


Truly Random String in Javascript Asynchronously

我使用javascript函数生成一个随机字符串:

function S4() {
   return (((1+Math.random())*0x10000)|0).toString(16).substring(1);
}
function guid() {
    /*$.ajax({
        type: "GET",
        url: "uuid.php",
        cache: false,
        success: function(html){
            return html;
        }
    });*/
   return (S4()+S4()+S4()+S4());
}

我想让它利用我发现的php uuid库,问题是我需要它在javascript中运行。我经常使用guid()函数,并且我一直在试图想出一种抓取uid的优雅方法,我使用ajax对象(上面注释掉了)请求uid。每次只打印随机uuid的uuid页位于该页旁边。我不希望请求是同步的,因为,就像我说的,我经常使用它,不希望每次这个东西发出请求时所有的东西都是停顿的。或者也许我可以使用jQuery的一种方法,既快又不影响性能?

我不反对改变一些事情,就像这里的最佳实践是在负载上获得液体吗?但是我生成的uuid的数量是完全动态的,并且取决于用户。

谢谢!

查看phpjs.org中的uniqid()函数

如何在guid()函数中添加一个回调参数,其中您可以为某些东西分配值:

function guid(callback) {
    $.ajax({
        type: "GET",
        url: "uuid.php",
        cache: false,
        success: function(html){
            callback(html);
        }
    });
}
var value;
guid(function (result) {
    value = result;
});