diff --git a/plugins/jenkins-backend/src/service/jenkinsApi.ts b/plugins/jenkins-backend/src/service/jenkinsApi.ts index 8de2609037..eaeff9096c 100644 --- a/plugins/jenkins-backend/src/service/jenkinsApi.ts +++ b/plugins/jenkins-backend/src/service/jenkinsApi.ts @@ -38,13 +38,18 @@ const anyPromise = (any => { } // reverse promise resolution (rejects become resolves and visa versa) - const reverse = (promise: Promise) => - new Promise((resolve, reject) => + const reverse = (promise: Promise): Promise => + new Promise((resolve, reject) => Promise.resolve(promise).then(reject, resolve), ); - return (iterable: Promise[]) => - reverse(Promise.all([...iterable].map(reverse))); + return ( + iterable: Iterable>, + ): Promise => + Promise.all([...iterable].map(reverse)).then( + results => reverse(Promise.resolve(results[0])), + reverse, + ); })(Promise.any); export class JenkinsApiImpl {