方便實用的方法來等待許多承諾解決或拒絕。生成的 Promise 解析為包含 Promise 的 result objects 數組,如果 Promise 已解決,則返回一個值,如果 Promise 被拒絕,則返回一個錯誤。
參數:
類型 說明 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); } }); });
基本信息
以下是所在類或對象的基本信息。
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
函數(或屬性)的定義如下:
相關用法
- JavaScript ArcGIS promiseUtils.isAbortError用法及代碼示例
- JavaScript ArcGIS promiseUtils.debounce用法及代碼示例
- 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.eachAlways。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。