为什么拒绝带有自定义错误的Alamofire请求会导致PromiseKit:Unhandled Error:消息

时间:2016-03-27 01:39:33

标签: ios xcode swift alamofire promisekit

我使用以下内容:

  • Alamofire(3.1.4)
  • PromiseKit(3.0.0)
  • xCode版本7.2.1(7C1002)

我拒绝接受以下自定义错误的Alamofire请求:

Error是提供创建自定义alamofire NSErrors的便捷方法的结构。我正在使用errorWithCode,如下所示。

let error = Error.errorWithCode(Error.Code.InputStreamReadFailed, failureReason: "reason")
reject(error)

我也尝试了以下内容:

reject(NSError(domain: "somedomain", code: 123, userInfo: [:]))

在任何一种情况下,我都会在xCode控制台中收到以下消息: " ... PromiseKit:未处理错误: 错误域名= com.alamofire.error代码= -6000"原因"的UserInfo = {NSLocalizedFailureReason =原因}"

我想知道这是不是我在做错了还是错误?

这是完整的功能:

func getImageByID(imageID : String) -> Promise<UIImage> {
    return Promise { fulfill, reject in
        Alamofire.request(.GET, getImageURL(imageID)).responseData {response in
            if response.result.isSuccess {
                if response.data != nil {
                    if let image = UIImage(data: response.data!) {
                        fulfill(image)
                    } else if UIImage(data: response.data!) == nil {

                        let error = Error.errorWithCode(Error.Code.InputStreamReadFailed, failureReason: "reason")
                        reject(error)
                        //reject(NSError(domain: "somedomain", code: 123, userInfo: [:]))
                        //reject(NSError(domain: "somedomain", code: 123, userInfo: nil))
                    } else {
                      .....
                    }
                }
            } else {
                reject(response.result.error!)
            }
        }
    }
}

非常感谢任何帮助!

谢谢!

0 个答案:

没有答案