Как отменить запрос AWSTask <AWSS3TransferUtilityUploadTask *>? - PullRequest
0 голосов
/ 07 июня 2019

Я загружаю файл, например изображения, на сервер AWSS3 и не могу отменить запрос.

Я попытался отменить запрос после запуска задачи загрузки.Я использую task.result.cancel() метод для отмены задачи.

let awsTransferUtility = AWSS3TransferUtility.s3TransferUtility(forKey: AWSConfiguration.callbackKey)

        let task = awsTransferUtility!.uploadFile(url,
                                                  bucket: bucket,
                                                  key: key,
                                                  contentType: file.type.contentType,
                                                  expression: expression,
                                                  completionHandler: completionHandler)
            .continueWith(block: { (task) -> Any? in
                if task.error != nil {
                    completion(nil, task.error)
                }
                return nil
            }) as! AWSTask<AWSS3TransferUtilityUploadTask>

Я просто хочу отменить запрос, и файл не будет загружен на сервер.

1 Ответ

0 голосов
/ 07 июня 2019

Согласно документам , вы можете получить экземпляр AWSS3TransferUtilityUploadTask, позвонив по номеру task.result.

Возвращает экземпляр AWSTask. При успешной инициализации файл task.result содержит экземпляр AWSS3TransferUtilityUploadTask.

Тогда вы сможете вызвать cancel в экземпляре AWSS3TransferUtilityUploadTask.

let task: AWSTask<AWSS3TransferUtilityUploadTask> = ...
let uploadTask: AWSS3TransferUtilityUploadTask = task.result
uploadTask.cancel()
...