我有一个数据获取任务,我想在后台线程上执行,但在 completionBlock
中获得响应后需要进行额外的调用.
例如:
NSURLSession *session = [NSURLSession sharedSession];
[[session dataTaskWithURL:requestURL completionHandler:completionBlock] resume];
任务成功获取数据后调用completionBlock
我想从 NSURL
下载另外 10 个资源是数据的一部分 completionBlock
得到。
调用dataTaskWithURL:completionHandler:
会不会更好再次在每个请求的 block 中或在 completionBlock
中的循环中进行阻塞网络调用?
谢谢!
最佳答案
是的,您可以在 completionBlock
中进行额外的调用。但是请求不应该是“阻塞的”,而是您只是为额外的数据发起额外的异步请求。如果您的模型支持的话,您希望它们彼此同时运行。如果您按顺序而不是同时发出这些后续请求,您将付出显着的性能损失。
关于ios - 使用 NSURLSession 处理顺序下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27736728/