2

我正在使用以下内容:

  • 阿拉莫火 (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: Unhandled Error: Error Domain=com.alamofire.error Code=-6000 "reason" UserInfo={NSLocalizedFailureReason=reason}"

我想知道这是我做错了什么还是错误?

这是完整的功能:

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!)
            }
        }
    }
}

非常感谢任何帮助!

谢谢!

4

0 回答 0