當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。