diff --git a/packages/@uppy/aws-s3-multipart/src/MultipartUploader.js b/packages/@uppy/aws-s3-multipart/src/MultipartUploader.js index 9243ee53a5..a62d42e4c3 100644 --- a/packages/@uppy/aws-s3-multipart/src/MultipartUploader.js +++ b/packages/@uppy/aws-s3-multipart/src/MultipartUploader.js @@ -243,27 +243,21 @@ class MultipartUploader { async #prepareUploadParts (candidates) { this.lockedCandidatesForBatch.push(...candidates) - let result - try { - result = await this.#retryable({ - attempt: () => this.options.prepareUploadParts({ - key: this.key, - uploadId: this.uploadId, - partNumbers: candidates.map((index) => index + 1), - }), - }) - } catch (error) { - throw new Error(error) - } - - const valid = typeof result?.presignedUrls === 'object' + const result = await this.#retryable({ + attempt: () => this.options.prepareUploadParts({ + key: this.key, + uploadId: this.uploadId, + partNumbers: candidates.map((index) => index + 1), + }), + }) - if (!valid) { + if (typeof result?.presignedUrls !== 'object') { throw new TypeError( 'AwsS3/Multipart: Got incorrect result from `prepareUploadParts()`, expected an object `{ presignedUrls }`.' ) } + return result }