当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaScript ArcGIS promiseUtils.eachAlways用法及代码示例


基本信息

以下是所在类或对象的基本信息。

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.eachAlways函数(或属性)的定义如下:

eachAlways (promises) {Promise|Object}


方便实用的方法来等待许多承诺解决或拒绝。生成的 Promise 解析为包含 Promise 的 result objects 数组,如果 Promise 已解决,则返回一个值,如果 Promise 被拒绝,则返回一个错误。

参数:

类型说明
promises Promise[]|Object

Promise 数组,或者每个属性都是 Promise 的对象。

返回:

类型 说明
Promise | Object 如果使用一组 promise 调用,则解析为 result objects 数组,其中包含原始 promise 和一个值(如果 promise 已解决)或错误(如果 promise 被拒绝)。如果使用每个属性都是承诺的对象调用,则解析为具有相同属性的对象,其中每个属性值都是 result object

例子:

const controller = new AbortController();

// Query for the number of features from
// multiple feature layers
function queryLayerFeatureCount(whereClauses) {
  // pass each whereClause item into callback function
  return promiseUtils.eachAlways(whereClauses.map(function (whereClause) {
    return layer.queryFeatureCount(whereClause, {
      signal: controller.signal
    });
  }));
}

queryLayerFeatureCount(whereClauses).then(function(eachAlwaysResults) {
   eachAlwaysResults.forEach(function(result) {
     // If a Promise was rejected, you can check for the rejected error
     if (result.error) {
       console.log("There was an error in your query.", result.error);
     }
     // The results of the Promise are returned in the value property
     else {
       console.log("The number of features are: " + result.value);
     }
   });
});

相关用法


注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 promiseUtils.eachAlways。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。