如何使用Swift Moya测量响应时间?
正如我在Alamofire上所知道的,我们有一个timeline对象,可以从中提取响应时间。 但是,如何从Moya请求中获得响应时间如何使用Swift Moya测量响应时间?,swift,rx-swift,moya,Swift,Rx Swift,Moya,正如我在Alamofire上所知道的,我们有一个timeline对象,可以从中提取响应时间。 但是,如何从Moya请求中获得响应时间 public final class Response: CustomDebugStringConvertible, Equatable { /// The status code of the response. public let statusCode: Int /// The response data. public
public final class Response: CustomDebugStringConvertible, Equatable {
/// The status code of the response.
public let statusCode: Int
/// The response data.
public let data: Data
/// The original URLRequest for the response.
public let request: URLRequest?
/// The HTTPURLResponse object.
public let response: HTTPURLResponse? //this does not return response time
}
您可以使用ClosureEventMonitor自定义会话
class MoyaConfig {
static let monitor: ClosureEventMonitor = {
let monitor = ClosureEventMonitor()
monitor.taskDidFinishCollectingMetrics = { _, task, metrics in
// do something with the metrics (URLSessionTaskMetrics)
}
return monitor
}()
static let apiSession: Session = {
let configuration = URLSessionConfiguration.default
let session = Session(configuration: configuration, startRequestsImmediately: false, eventMonitors: [monitor])
return session
}()
}
let api = MoyaProvider<API>(session: MoyaConfig.apiSession)
class-MoyaConfig{
静态let监视器:ClosureEventMonitor={
let monitor=ClosureEventMonitor()
monitor.taskDidFinishCollectingMetrics={{中的任务、指标
//使用度量(URLSessionAskMetrics)执行一些操作
}
返回监视器
}()
静态会话:会话={
let configuration=URLSessionConfiguration.default
let session=session(配置:configuration,startRequestsImmediately:false,eventMonitors:[监视器])
返回会话
}()
}
让api=MoyaProvider您可以使用ClosureEventMonitor自定义会话
class MoyaConfig {
static let monitor: ClosureEventMonitor = {
let monitor = ClosureEventMonitor()
monitor.taskDidFinishCollectingMetrics = { _, task, metrics in
// do something with the metrics (URLSessionTaskMetrics)
}
return monitor
}()
static let apiSession: Session = {
let configuration = URLSessionConfiguration.default
let session = Session(configuration: configuration, startRequestsImmediately: false, eventMonitors: [monitor])
return session
}()
}
let api = MoyaProvider<API>(session: MoyaConfig.apiSession)
class-MoyaConfig{
静态let监视器:ClosureEventMonitor={
let monitor=ClosureEventMonitor()
monitor.taskDidFinishCollectingMetrics={{中的任务、指标
//使用度量(URLSessionAskMetrics)执行一些操作
}
返回监视器
}()
静态会话:会话={
let configuration=URLSessionConfiguration.default
let session=session(配置:configuration,startRequestsImmediately:false,eventMonitors:[监视器])
返回会话
}()
}
让api=MoyaProvider