是否可以为Alamofire请求添加超时处理程序?
在我的项目中,我以这种方式使用Alamofire:
init() {
let configuration = NSURLSessionConfiguration.defaultSessionConfiguration()
configuration.timeoutIntervalForRequest = 30
self.alamofireManager = Alamofire.Manager(configuration: configuration)
}
func requestAuthorizationWithEmail(email:NSString, password:NSString, completion: (result: RequestResult) -> Void) {
self.alamofireManager!.request(.POST, "myURL", parameters:["email": email, "password":password])
.responseJSON { response in
switch response.result {
case .Success(let JSON):
//do html" target="_blank">json stuff
case .Failure(let error):
print("\n\nAuth request failed with error:\n \(error)")
completion(result: .ConnectionFailed)
}
}
}
编辑:
请求失败消息
错误域= NSURLErrorDomain代码= -1001“请求超时。” UserInfo = {NSUnderlyingError =
0x7fc10b937320 {Error Domain = kCFErrorDomainCFNetwork Code = -1001“(null)”
UserInfo = {_ kCFStreamErrorCodeKey = -2102,_kCFStreamErrorDomainKey =
4}},NSErrorFailingURLStringKey = url,NSErrorFailingURLKey =
URL,_kCFStreamError = -2102 ,NSLocalizedDescription =请求超时。}
您可以进行比较error._code
,如果等于-1001
,NSURLErrorTimedOut
那么您知道这是超时。
let manager = Alamofire.SessionManager.default
manager.session.configuration.timeoutIntervalForRequest = 120
manager.request("yourUrl", method: .post, parameters: ["parameterKey": "value"])
.responseJSON {
response in
switch (response.result) {
case .success: // succes path
case .failure(let error):
if error._code == NSURLErrorTimedOut {
print("Request timeout!")
}
}
}
是否可以为Alamofire请求添加超时处理程序? 在我的项目中,我使用Alamofire的方式如下: 编辑: 请求失败消息 Error Domain=NSURLErrorDomain Code=-1001“请求超时。”UserInfo={NSUnderlyingError=0x7fc10b937320{Error Domain=kCFErrorDomainCFNetwork Code=-1001
问题内容: 免责声明:这是我第一次尝试该模块。 我使用以下方式尝试支持超时功能,以等待一组异步任务的所有结果。这是更大的库的一部分,因此我省略了一些不相关的代码。 请注意,该库已经支持通过ThreadPoolExecutors和ProcessPoolExecutors提交任务和使用超时,因此,我对使用这些代替建议或关于为什么要使用的问题并不真正感兴趣。转到代码… 起初,我不必担心在超时时取消待处理
问题内容: 对不起,我的英语不好 :) 我在iOS应用程序的Swift中通过Alamofire解析JSON响应时遇到问题。我编写了一个函数来返回JSON响应字符串。请求和响应处理我做Alamofire和JSON处理我做SwiftyJSON。首先,我声明一个名为 jsonString的变量 ,其值为 test 。然后,我向REST服务发出请求,并通过单击按钮获得JSON响应。我想使用函数 ping(
问题内容: 在第一种情况下 ,它会抛出 NSURLErrorDomain (正确设置了超时): 在第二种情况下 ,超时不会被替换,而是仍设置为60秒。 我在ios 10.1中运行 我的代码:( 不起作用) 解决了Alamofire github线程: Alamofire 4.3.0设置超时引发NSURLErrorDomain错误#1931 问题答案: 基于@ kamal-thakur响应。 迅捷3
问题内容: 我试图用一个批量一些 KTable 值,并送他们。似乎30秒钟超出了使用者超时间隔,在此间隔之后,Kafka认为该使用者已失效并释放了分区。 我尝试提高 轮询 和 提交间隔 的频率来避免这种情况: 不幸的是,这些错误仍在发生: (很多) 其次是: 显然,我需要更频繁地将心跳发送回服务器。怎么样? 我的拓扑是: 该 KTable 是关键,每30秒分组值。在 Processor.init(
前言 sender的run 调用done方法,并传入TimeoutException