美文网首页网络请求
AFN的取消请求细节

AFN的取消请求细节

作者: 訷訷 | 来源:发表于2016-04-15 11:31 被阅读1720次
    // 取消请求
    // 仅仅是取消请求, 不会关闭session
    [self.manager.tasks makeObjectsPerformSelector:@selector(cancel)];
    
    // 关闭session并且取消请求(session一旦被关闭了, 这个manager就没法再发送请求)
    [self.manager invalidateSessionCancelingTasks:YES];
    self.manager = nil;
    
    // 一个任务被取消了, 会调用AFN请求的failure这个block
    [task cancel];
    

    相关文章

      网友评论

      • d545b6bbaa5a:感谢大神指点迷境,此法确实有效。学习了,
      • 6aad842825ee:是的 对 。调用了invalidateSessionCancelingTasks之后,又用了到了和这个manager相关的东西,那这样为什么就崩溃了啊?难道不能调用吗,这是AFN的BUG 啊!!!
      • mf168:[self.manager invalidateSessionCancelingTasks:YES];

        Attempted to create a task in a session that has been invalidated
        Terminating app due to uncaught exception 'NSGenericException', reason: 'Task created in a session that has been invalidated'
        崩了
        mf168:@訷訷 是的 因为我想下次请求前 关闭上次的请求
        訷訷:@QQDAOCOM 是不是你调用了invalidateSessionCancelingTasks之后,又用了到了和这个manager相关的东西
      • 6b1521b795a8:请问下[self.manager.operationQueue cancelAllOperations]和[self.manager.tasks makeObjectsPerformSelector:@selector(cancel)]; 有什么区别?
        6b1521b795a8:@人称刘阿斗 嗯,感谢指定迷津
        訷訷:楼上说的好 :+1:
        7919a3a61ce1:@PGWizard /**
        The operation queue on which delegate callbacks are run.
        */
        @property (readonly, nonatomic, strong) NSOperationQueue *operationQueue;这个queue是代理的queue,不是网络任务的queue。

      本文标题:AFN的取消请求细节

      本文链接:https://www.haomeiwen.com/subject/haknlttx.html