我如何在 Alamofire 中检查我的请求已发送?

阿德里安

使用 Alamofire 是否可以在发送请求时获取事件,无论是否收到响应?就像这个 URLSession 方法一样:

-(void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task
                            didSendBodyData:(int64_t)bytesSent
                             totalBytesSent:(int64_t)totalBytesSent
                   totalBytesExpectedToSend:(int64_t)totalBytesExpectedToSend;

编辑:我的代码是向服务器发送一个 JSON:

Alamofire.request("http://...", method: HTTPMethod.post, parameters: params, encoding: JSONEncoding.default,
                      headers: [...]).responseJSON {
                                    response in
                                    if response.result.isSuccess {
                                        print("result is Success")
                                    } else {
                                        print("result is Failure")
                                    }
    }

如果网络断开连接,我想处理什么,我想知道响应是否到达。

预先感谢您提供的任何帮助。

埃尼娅·杜姆

响应验证

默认情况下,Alamofire 将任何已完成的请求视为成功,而不管响应的内容如何。validate如果响应具有不可接受的状态代码或 MIME 类型,则在响应处理程序之前调用会导致生成错误。

手动验证

Alamofire.request("https://httpbin.org/get")
    .validate(statusCode: 200..<300)
    .validate(contentType: ["application/json"])
    .responseData { response in
        switch response.result {
        case .success:
            print("Validation Successful")
        case .failure(let error):
            print(error)
        }
    }

自动验证

自动验证200..<300范围内的状态代码,并且Content-Type响应的Accept标头与请求标头匹配(如果提供)。

Alamofire.request("https://httpbin.org/get").validate().responseJSON { response in
    switch response.result {
    case .success:
        print("Validation Successful")
    case .failure(let error):
        print(error)
    }
}

统计指标

时间线 Alamofire 在 a 的整个生命周期中收集计时,Request并创建一个Timeline对象作为所有响应类型的属性公开。

Alamofire.request("https://httpbin.org/get").responseJSON { response in
    print(response.timeline)
}

以上报告了以下Timeline信息:

  • Latency: 0.428 秒
  • Request Duration: 0.428 秒
  • Serialization Duration: 0.001 秒
  • Total Duration: 0.429 秒

取自Alamofire 用法你可以有更深入的了解。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Alamofire中发送数据

来自分类Dev

如何检查Alamofire请求已完成

来自分类Dev

我如何在 Swift 中安全地解压选项(AlamoFire 响应对象)

来自分类Dev

如何在Alamofire中设置requestSerializer

来自分类Dev

如何在Alamofire中设置requestSerializer

来自分类Dev

我使用alamofire,但结果不同

来自分类Dev

如何在 Alamofire 请求 swift 3 中传递 JSON 对象

来自分类Dev

如何使用Alamofire发送SwftyJSON?

来自分类Dev

如何同步多个Alamofire请求

来自分类Dev

如何确保Alamofire请求运行?

来自分类Dev

我无法在Xcode 8中运行Alamofire

来自分类Dev

如何在按下按钮时发布Alamofire JSON请求?

来自分类Dev

如何在响应闭包内部访问Alamofire请求参数?

来自分类Dev

如何在响应闭包内部访问Alamofire请求参数?

来自分类Dev

为什么我无法从Alamofire获得请求结果

来自分类Dev

我如何将 alamofire 用于 post api

来自分类Dev

Swift:我如何为 Alamofire 使用同步线程?

来自分类Dev

如何在Alamofire API请求的正文中发送嵌套对象?

来自分类Dev

如何在Alamofire中处理多个网络通话

来自分类Dev

如何在Alamofire中实施自签名证书?

来自分类Dev

如何在swiftyJSON和Alamofire中获得字典的随机值

来自分类Dev

如何在Alamofire 5 didCompleteTaskNotification通知中访问响应数据?

来自分类Dev

如何在iOS Swift 4中处理Alamofire响应?

来自分类Dev

如何在 App Delegate 的“performFetchWithCompletionHandler”函数中从 Alamofire 获取数据?

来自分类Dev

如何检索请求的Alamofire响应标头

来自分类Dev

如果Alamofire请求的响应是否为200,我将如何更改seque视图

来自分类Dev

如何使用Alamofire请求从JSON响应中获取数据

来自分类Dev

alamofire通过肥皂发送请求

来自分类Dev

如何在Alamofire的共享管理器中取消所有请求

Related 相关文章

  1. 1

    如何在Alamofire中发送数据

  2. 2

    如何检查Alamofire请求已完成

  3. 3

    我如何在 Swift 中安全地解压选项(AlamoFire 响应对象)

  4. 4

    如何在Alamofire中设置requestSerializer

  5. 5

    如何在Alamofire中设置requestSerializer

  6. 6

    我使用alamofire,但结果不同

  7. 7

    如何在 Alamofire 请求 swift 3 中传递 JSON 对象

  8. 8

    如何使用Alamofire发送SwftyJSON?

  9. 9

    如何同步多个Alamofire请求

  10. 10

    如何确保Alamofire请求运行?

  11. 11

    我无法在Xcode 8中运行Alamofire

  12. 12

    如何在按下按钮时发布Alamofire JSON请求?

  13. 13

    如何在响应闭包内部访问Alamofire请求参数?

  14. 14

    如何在响应闭包内部访问Alamofire请求参数?

  15. 15

    为什么我无法从Alamofire获得请求结果

  16. 16

    我如何将 alamofire 用于 post api

  17. 17

    Swift:我如何为 Alamofire 使用同步线程?

  18. 18

    如何在Alamofire API请求的正文中发送嵌套对象?

  19. 19

    如何在Alamofire中处理多个网络通话

  20. 20

    如何在Alamofire中实施自签名证书?

  21. 21

    如何在swiftyJSON和Alamofire中获得字典的随机值

  22. 22

    如何在Alamofire 5 didCompleteTaskNotification通知中访问响应数据?

  23. 23

    如何在iOS Swift 4中处理Alamofire响应?

  24. 24

    如何在 App Delegate 的“performFetchWithCompletionHandler”函数中从 Alamofire 获取数据?

  25. 25

    如何检索请求的Alamofire响应标头

  26. 26

    如果Alamofire请求的响应是否为200,我将如何更改seque视图

  27. 27

    如何使用Alamofire请求从JSON响应中获取数据

  28. 28

    alamofire通过肥皂发送请求

  29. 29

    如何在Alamofire的共享管理器中取消所有请求

热门标签

归档