首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以在不等待iOS响应的情况下发送GET请求?

是否可以在不等待iOS响应的情况下发送GET请求?
EN

Stack Overflow用户
提问于 2012-03-10 23:40:57
回答 1查看 534关注 0票数 1

等待响应大约需要300ms,所以我每秒只能发送3-4个请求到我的自定义设备,它太慢了,我正在努力提高“用户交互”的速度。

现在我使用以下代码:

代码语言:javascript
复制
    NSURLRequest* request = [NSURLRequest requestWithURL:[NSURL URLWithString:url] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:0.5];
    NSHTTPURLResponse* response = nil;
    NSError* error = nil;
    [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-11 00:04:32

您可以异步地触发请求,正确地实现+ (void)sendAsynchronousRequest:(NSURLRequest *)request queue:(NSOperationQueue *)queue completionHandler:(void (^)(NSURLResponse*, NSData*, NSError*))handler

假设你不想每5秒触发一组请求。您可以实现一个发出第一个请求的重复计时器。您可以让请求代理按顺序发出请求(每个代理发出下一个请求)。在非常简单的元语言中,它看起来像这样:

代码语言:javascript
复制
- repeatingTimer5sHandler {
    issue1stRequestWithHandler:handlerFor1stRequest;
}

- handlerFor1stRequest {
    handle response
    issue2ndRequestWithHandler:handlerFor2ndRequest;
}

- handlerFor2ndRequest {
    handle response
    issue3rdRequestWithHandler:handlerFor3rdRequest;
}

- handlerFor3rdRequest {
    handle response
    issue4thRequestWithHandler:handlerFor4thdRequest;
}

- handlerFor4thRequest {
    handle response
}

this page的底部是一个有效的解决方案。它只有一个请求,但它应该可以让你开始。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9647706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档