异步操作vs异步网络任务?
问题描述:
有需要异步调用RESTful Web服务得到JSON的内容,然后解析该JSON响应创建一些数据模型实体的常见的场景。这个过程可以被取消/恢复。我不能完全肯定它的最好的办法是:从前者为异步操作vs异步网络任务?
- 实现对网络电话的
Operation
和另一Operation
的JSON解析和设置两种操作之间的相关性输出(JSON后者的数据输入)。然后,将这些操作添加到OperationQueue
。 - 使用
URLSession
和URLSessionDataTask
进行网络呼叫,并在其回调JSON解析。
或许彼此不同,并且更好的办法?
编辑:在我的情况下,我不需要执行并发网络调用。如果我需要调用不同PARAMS服务,我应该能够在必要时停止以前的网络任务,并启动新的。
谢谢。我只需要执行这2个任务,网络调用+ JSON响应解析,并且不需要并发。如果我需要一个新的网络电话,我只需要停止前一个,如果正在进行并开始新的。这将使URLSession选项更适合? – AppsDev
是的;你可以使用'invalidateAndCancel()'来取消现有的会话。你只需要跟踪它。 –