gpt4 book ai didi

iphone - 如何可靠地管理后台请求?

转载 作者:行者123 更新时间:2023-12-03 21:07:50 25 4
gpt4 key购买 nike

我需要对 http 服务器异步运行查询并处理响应。该查询实际上是一个相当大的带有回调的方法调用链。这增加了复杂性,因为调用链中有很多返回路径。

在当前请求完全完成之前,不应启动新请求。

以下是总体概要:

  1. 某些线程调用[Foo poll]
  2. poll 方法启动几个在后台运行的 HTTP 请求。在本例中为 ASIHTTPRequest。
  3. 请求最终会调用[Foo onRequestComplete]来解析响应。发生错误时,调用 [Foo onRequestError]。这是第二条返回路径。
  4. 然后,通过回调和更多返回路径对服务器进行更多调用。
  5. 最终将一些内容保存到磁盘。
  6. 投票已完成

这里有一个要点:在这些步骤中,对 poll 的调用应该被忽略(返回)或阻止,直到轮询完成。

如何确保在另一个轮询运行时 poll 函数被阻止或无操作?

最佳答案

只需使用NSLock即可。

[Foo poll]中:

if ([lock tryLock]) {
// Do your stuff
}

[Foo onRequestComplete]中:

[lock unlock];

关于iphone - 如何可靠地管理后台请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5437857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com