取消优异的异步呼叫?

这与解析相关,但可能与任何对基于云的数据的调用相关。通过一个回调块触发一个异步调用,并通过链路调节器进行100%数据包丢失测试会带来挑战。我有一个模板管理这一切,取消该进程,停止运行内部模块的代码应该以往任何时候都决定返回,取消优异的异步呼叫?

但..

的实际调用,保持滚动,在这种情况下,解析的(例如)SaveInBackgroundWithBlock ...只是似乎不断尝试和尝试,即使应用程序正在滚动到其他东西。

我还没有找到任何能够联系并杀死这些电话的参考资料,并且想到如果可能的话在这里询问如何去做。

回答:

它通常是一个棘手的问题。

首先,没有办法停止任何后台任务(当然,没有,我会永远不敢在我的iOS代码中使用)。您只能礼貌地要求后台任务停止,例如通过调用“取消”方法。

因此,如果写一个任务在后台运行,应该可以取消,它需要一个“取消”方法,你的代码需要不时检查是否取消,在这种情况下,停止做工作并告诉其他人取消(NSOperationQueue对此有一些支持,这是IMO与GCD相比的唯一优势)。

如果您已经启动了一个无法取消的异步操作,那么您将被卡住。抱歉。异步操作需要检查自身,如果没有内置功能,则不能从外部停止。因此,如果取消是不可能的,则唯一可以做的事情是确保无论该操作如何,如果成功,结果不能再使用,并且如果失败,则不应向用户显示错误。

回答:

您需要一些描述符或对您开始的任务的引用。如果Parse不提供任何这些信息,您可能无法取消该任务。

以上是 取消优异的异步呼叫? 的全部内容, 来源链接: utcz.com/qa/260481.html

回到顶部