繁体   English   中英

如何在没有操作队列的情况下取消GCD中的请求

[英]how to do cancel requests in GCD without operation queue

我正在实现一个使用REST服务发出请求的iOS应用。 我想取消所有先前的REST通话,而我进行新的通话。 我可以在没有Operation Queue的情况下在GCD的全局队列中执行此操作吗? 谢谢

GCD没有提供取消块的API。 因此,您将必须自己实施此取消操作。

最简单的方法可能是将全局标志设置为“已取消”,然后检查您的块内部。 如果设置了标志,请立即从块中返回。 然后,在所有块完成之后,您可以重置标志并排队新块。

即使听起来很简单,这也需要一些简单的代码。 使用NSOperationQueue而不是在普通GCD上重新实现其功能会容易得多。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM