質問

JSON-RPCサービスを呼び出すとき、JavaScriptクライアントから一意のIDを生成する最も一般的な方法は何ですか?

修正された質問:

通常、JavaScript JSON-RPCクライアントがカウントを実装します id パラメーター(例:最後の要求があった場合 id=1, 、そしてそれは返信を受け取っていません、次の要求は id=2. 。リクエストの場合 id=1 応答しました、次の要求はそうです id=1 また)。人々が通常これをどのように実装するかを理解することに興味があります。

役に立ちましたか?

解決

これがユニークである必要がある宇宙については説明していません。

あなたが絶対にユニークなことを意味するなら、あなたは uuid.

クライアント側のキャッシュを防ぐためにエンドポイントに固有の何かが必要な場合、これで十分です

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

これら2つ以外のものが必要な場合は、より具体的にする必要があります。

編集

多分このように見える何か

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