-
debounce
(callback)
{Function}
static
- 自从:ArcGIS 适用于 JavaScript 4.12 的 API
用于确保输入函数一次不会同时被多次调用的实用程序。这对于高度交互的应用程序很有用,例如对 mouse-move 或 mouse-drag 事件执行统计查询的应用程序。您可以"debounce" 或取消函数执行,而不是对每个此类事件执行查询,直到相同函数调用的先前执行完成。这提高了此类应用程序的性能和用户体验。
参数:
类型 说明 callback Function防止在执行对同一函数的先前调用期间执行的函数。这通常是可以在 mouse-move 或 mouse-drag 事件上调用的函数。
返回:
类型 说明 Function 与回调具有相同签名的函数。 例子:
// Queries a layer for the count of features that intersect a // 1 km buffer of the pointer location. The debounce() method // prevents the updateStatistics function from executing before // a previous invocation of the same function finishes. const updateStatistics = promiseUtils.debounce(function (geometry) { return layerView.queryFeatures({ geometry, distance: 1, units: "kilometers", outStatistics: [{ onStatisticField: "*", outStatisticFieldName: "feature_count", statisticType: "count" }] }).then(function(featureSet) { console.log(`Feature Count: ${featureSet.features[0].attributes["feature_count"]}`); }); }); view.on("drag", (event) => updateStatistics(view.toMap(event)));
基本信息
以下是所在类或对象的基本信息。
AMD:
require(["esri/core/promiseUtils"], (promiseUtils) => { /* code goes here */ });
ESM:
import * as promiseUtils from "@arcgis/core/core/promiseUtils";
对象:
esri/core/promiseUtils
自从:用于 JavaScript 4.2 的 ArcGIS API
用法说明
promiseUtils.debounce
函数(或属性)的定义如下:
相关用法
- JavaScript ArcGIS promiseUtils.eachAlways用法及代码示例
- JavaScript ArcGIS promiseUtils.isAbortError用法及代码示例
- JavaScript ArcGIS promiseUtils.create用法及代码示例
- JavaScript ArcGIS promiseUtils.resolve用法及代码示例
- JavaScript ArcGIS promiseUtils.reject用法及代码示例
- JavaScript ArcGIS promiseUtils.createAbortError用法及代码示例
- JavaScript promise reject()用法及代码示例
- JavaScript ArcGIS projection.load用法及代码示例
- JavaScript ArcGIS projection.getTransformations用法及代码示例
- JavaScript ArcGIS projection.project用法及代码示例
- JavaScript ArcGIS predominance.createRenderer用法及代码示例
- JavaScript ArcGIS print.execute用法及代码示例
- JavaScript ArcGIS predominantCategories.predominantCategories用法及代码示例
- JavaScript ArcGIS predominance.getSchemeByName用法及代码示例
- JavaScript ArcGIS predominanceUtils.getPredominanceExpressions用法及代码示例
- JavaScript ArcGIS predominance.cloneScheme用法及代码示例
- JavaScript ArcGIS predominance.getSchemes用法及代码示例
- JavaScript ArcGIS predominance.getSchemesByTag用法及代码示例
- JavaScript parseInt()用法及代码示例
- JavaScript parseFloat()用法及代码示例
- JavaScript performance.now()用法及代码示例
- JavaScript ArcGIS SceneView double-click事件用法及代码示例
- JavaScript ArcGIS geometryEngineAsync.overlaps用法及代码示例
- JavaScript ArcGIS Expand.when用法及代码示例
- JavaScript ArcGIS Sublayer.JoinTableDataSource用法及代码示例
注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 promiseUtils.debounce。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。