每次调用 API 时都会捕获,而不管使用 Alamofire 在 swift 中调用什么?
Catch every time an API call is made regardless of call in swift with Alamofire?
我不确定使用什么术语,如果有误请见谅。希望我仍然可以清楚我在寻找什么。我希望在我拨打 API 电话时随时显示加载动画。我希望代码集中,并在我进行 API 调用时调用,而不是为每个 API 调用手动编写代码。这可能吗?有什么方法可以捕获任何 API 调用并调用代码来显示加载动画吗?
您可以使用 Alamofire 的 EventMonitor
协议来完成此操作。 EventMonitor
在各种 Alamofire 事件期间为您提供回调,例如请求开始和完成时。您可能感兴趣的事件是 requestDidResume
或 request(_:didResumeTask:)
) 和 requestDidFinish
(或 request(_:didCompleteTask:with:)
)。 Alamofire 还包括 ClosureEventMonitor
,如果您不想自己编写,您可以在其中设置要在事件期间调用的闭包。
let monitor = ClosureEventMonitor()
monitor.requestDidResumeTask = { request, task in ... }
requestDidCompleteTaskWithError { request, task, error in ... }
let session = Session(eventMonitors: [monitor])
我不确定使用什么术语,如果有误请见谅。希望我仍然可以清楚我在寻找什么。我希望在我拨打 API 电话时随时显示加载动画。我希望代码集中,并在我进行 API 调用时调用,而不是为每个 API 调用手动编写代码。这可能吗?有什么方法可以捕获任何 API 调用并调用代码来显示加载动画吗?
您可以使用 Alamofire 的 EventMonitor
协议来完成此操作。 EventMonitor
在各种 Alamofire 事件期间为您提供回调,例如请求开始和完成时。您可能感兴趣的事件是 requestDidResume
或 request(_:didResumeTask:)
) 和 requestDidFinish
(或 request(_:didCompleteTask:with:)
)。 Alamofire 还包括 ClosureEventMonitor
,如果您不想自己编写,您可以在其中设置要在事件期间调用的闭包。
let monitor = ClosureEventMonitor()
monitor.requestDidResumeTask = { request, task in ... }
requestDidCompleteTaskWithError { request, task, error in ... }
let session = Session(eventMonitors: [monitor])