throttleRequestByServer

throttleRequestByServer(url, requestFunction)Promise.<Object>|undefined

因为浏览器限制了每个服务器允许的并行请求的数量,此函数跟踪每个服务器正在进行的活动请求的数量,以及如果请求超过最大值,则立即返回未定义 调用者稍后重试,而不是在浏览器的控制下无限期地排队。
Name Type Description
url String 要请求的URL。
requestFunction throttleRequestByServer~RequestFunction 实际发出请求的函数。
Returns:
要么是未定义,即该请求将超过并行请求的最大数量,要么是所请求数据的 Promise。
Example:
// throttle requests for an image
var url = 'http://madeupserver.example.com/myImage.png';
function requestFunction(url) {
  // in this simple example, loadImage could be used directly as requestFunction.
  return SuperMap3D.loadImage(url);
};
var promise = SuperMap3D.throttleRequestByServer(url, requestFunction);
if (!SuperMap3D.defined(promise)) {
  // too many active requests in progress, try again later.
} else {
  promise.then(function(image) {
    // handle loaded image
  });
}
See:

Members

staticSuperMap3D.throttleRequestByServer.maximumRequestsPerServer : Number

指定可同时向单个服务器开放的最大请求数。如果该值高于网络浏览器实际允许的每台服务器的请求数,SuperMap3D 优先处理请求的能力将受到不利影响。
Default Value: 6

Type Definitions

RequestFunction(url)Promise.<Object>

一个函数,用于在服务器有空闲时段时发出请求。
Name Type Description
url String 要请求的 URL。
Returns:
请求数据的promise。