<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>ArcGIS REST JS - AMD</title>
</head>
<body>
Open your console to see the demo.
</body>
<script src="https://unpkg.com/@esri/arcgis-rest-request@2.0.3/dist/umd/request.umd.js"></script>
<script src="https://unpkg.com/@esri/arcgis-rest-feature-layer@2.0.3/dist/umd/feature-layer.umd.js"></script>
<script>
var url = "https://services.arcgis.com/V6ZHFr6zdgNZuVG0/ArcGIS/rest/services/earthquakes_geojson/FeatureServer/0";
async function GetRecordCount() {
var { count } = await arcgisRest.queryFeatures({
url: url,
returnCountOnly: true
});
return count;
}
async function GetData() {
let numRecords = await GetRecordCount();
let promises = [];
let data = [];
const maxRecordCount = 1000;
for (var i = 0; i < numRecords; i += maxRecordCount) {
let q = arcgisRest.queryFeatures({
url: url,
resultOffset: i,
resultRecordCount: maxRecordCount
});
promises.push(q);
}
let dataArr = await Promise.all(promises);
for (const res of dataArr) {
data = data.concat(res.features);
}
return data;
}
var t0 = performance.now();
GetData().then(function(res) {
var t1 = performance.now();
console.log("Query took " + Math.floor(t1 - t0) + " milliseconds.");
console.log(res);
})
</script>
</html>