调用JSON RPC服务时,从JavaScript客户端生成唯一ID的最常见方法是什么?

修订的问题:

通常,JavaScript JSON-RPC客户端实现计数 id 参数(例如,如果最后一个请求是 id=1, ,而且它没有回复,下一个请求是 id=2. 。如果请求 id=1 已经回答了,下一个请求可以是 id=1 再次)。我有兴趣了解人们通常如何实施此功能。

有帮助吗?

解决方案

您不会描述需要独特的宇宙。

如果您的意思是绝对独特的,那么您就是在谈论 UUID.

如果您需要端点独特的东西来防止客户端缓存,那么这将足够

var unique = new Date().getTime();

如果您需要这两个以外的其他东西,那么您需要更具体。

编辑

也许看起来有点像这样

jsonRpcClient = function()
{
  var requestStack = [null];

  this.makeRequest = function()
  {
    var id = this.getAvailableSlot();
    requestStack[id] = new this.request( id, arguments );
  }

  this.getAvailableSlot: function ()
  {
    for ( var i = 0; i < requestStack.length: i++ )
    {
      if ( null == this.requestStack[i] )
      {
        return i;
      }
    }
    return i;
  }

  this.request: function( id, args )
  {
    // request stuff here
    // pass id and whatever else to jsonRpcClient.handleResponse()
  }

  this.handleResponse: function( id )
  {
    var request = requestStack[id];
    requestStack[id] = null;

    // Do whatever with request
  }
};
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top