UNPKG

@sap-cloud-sdk/util

Version:

SAP Cloud SDK for JavaScript general utilities

22 lines 980 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.finishAll = finishAll; /** * Await all promises and resolve if non of them failed. * Reject if at least one of them was rejected, but only once all of them are finished. * Throws an error consisting of a list of reasons. * @param promises - Promises to settle. * @param errorMessage - Message to use as introductory text of the error if an error occurs. */ async function finishAll(promises, errorMessage) { const settledPromises = await Promise.allSettled(promises); const rejectedPromises = settledPromises.filter(promise => promise.status === 'rejected'); if (rejectedPromises.length) { const reasons = rejectedPromises .map(promise => `\t${promise.reason}`) .join('\n'); const message = errorMessage ? `${errorMessage} ` : ''; throw new Error(`${message}Errors: [\n${reasons}\n]`); } } //# sourceMappingURL=promise.js.map