JSON -RPC-如何制作独特的ID?
-
10-10-2019 - |
题
调用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
}
};
不隶属于 StackOverflow