-
BeforeInterceptorCallback
(params)
{Object}
在發送請求之前更改請求 URL 或選項。返回值將用作響應數據,這將阻止發送請求。
如果返回
null
或undefined
,則發送請求時對參數所做的任何更改。如果返回錯誤,則請求將被拒絕並返回 esriError 。如果返回任何其他類型,則將請求解析為返回值為response data(不會發送請求)。參數:
規格:類型 說明 params Object參數對象,指定可以設置的兩個屬性。
規格:url請求 URL。
requestOptions用戶在數據請求中指定的選項。有關可用屬性,請參閱RequestOptions。
返回:
類型 說明 Object 返回: null
、undefined
、Error、response data,或解析為這些對象類型中的任何一種的 Promise。例子:
// modifying the query parameters const featureLayerUrl = "https://sampleserver6.arcgisonline.com/arcgis/rest/services/USA/MapServer/0"; esriConfig.request.interceptors.push({ // set the `urls` property to the URL of the FeatureLayer so that this // interceptor only applies to requests made to the FeatureLayer URL urls: featureLayerUrl, // use the BeforeInterceptorCallback to check if the query of the // FeatureLayer has a maxAllowableOffset property set. // if so, then set the maxAllowableOffset to 0 before: function(params) { if (params.requestOptions.query.maxAllowableOffset) { params.requestOptions.query.maxAllowableOffset = 0; } } });
// fetching the data in place of the requests const wmsLayerUrl = "https://sampleserver6.arcgisonline.com/arcgis/services/911CallsHotspot/MapServer/WMSServer"; esriConfig.request.interceptors.push({ urls: wmsLayerUrl, before: function(params) { if (params.url === url && params.requestOptions.responseType === "xml") { if ("fetch" in window && "TextDecoder" in window) { // decode the response as ISO-8859-1 if it's not UTF-8 as expected return fetch(url + "?SERVICE=WMS&REQUEST=GetCapabilities") .then(function(response) { return response.arrayBuffer(); }) .then(function(buffer) { let textDecoder = new TextDecoder("ISO-8859-1"); // specified in the Capabilities XML declaration let xmlText = textDecoder.decode(buffer); let parser = new DOMParser(); xml = parser.parseFromString(xmlText, "application/xml"); return xml; }); } } } });
基本信息
以下是所在類或對象的基本信息。
AMD:
require(["esri/config"], (esriConfig) => { /* code goes here */ });
ESM:
import esriConfig from "@arcgis/core/config";
對象:
esri/config
自從:用於 JavaScript 4.0 的 ArcGIS API
用法說明
config.BeforeInterceptorCallback
函數(或屬性)的定義如下:
相關用法
- JavaScript ArcGIS config.assetsPath用法及代碼示例
- JavaScript ArcGIS config.workers用法及代碼示例
- JavaScript ArcGIS config.fontsUrl用法及代碼示例
- JavaScript ArcGIS config.geometryServiceUrl用法及代碼示例
- JavaScript ArcGIS config.request用法及代碼示例
- JavaScript ArcGIS config.routeServiceUrl用法及代碼示例
- JavaScript ArcGIS config.geoRSSServiceUrl用法及代碼示例
- JavaScript ArcGIS config.LogInterceptor用法及代碼示例
- JavaScript ArcGIS config.kmlServiceUrl用法及代碼示例
- JavaScript ArcGIS config.portalUrl用法及代碼示例
- JavaScript ArcGIS config.AfterInterceptorCallback用法及代碼示例
- JavaScript ArcGIS config.RequestInterceptor用法及代碼示例
- JavaScript ArcGIS config用法及代碼示例
- JavaScript ArcGIS coordinateFormatter用法及代碼示例
- JavaScript ArcGIS colorUtils.getBackgroundColorTheme用法及代碼示例
- JavaScript ArcGIS colorRamps.names用法及代碼示例
- JavaScript ArcGIS color.getSchemesByTag用法及代碼示例
- JavaScript ArcGIS color.createPCTrueColorRenderer用法及代碼示例
- JavaScript ArcGIS color.createVisualVariable用法及代碼示例
- JavaScript ArcGIS colorUtils.getBackgroundColor用法及代碼示例
- JavaScript ArcGIS color.getSchemes用法及代碼示例
- JavaScript ArcGIS color.createContinuousRenderer用法及代碼示例
- JavaScript ArcGIS colorRamps.byTag用法及代碼示例
- JavaScript ArcGIS colorRamps.all用法及代碼示例
- JavaScript ArcGIS color.createPCContinuousRenderer用法及代碼示例
注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 config.BeforeInterceptorCallback。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。