2012-06-17 12 views
16

¿Hay una manera de cancelar toda solicitud de red (petición iniciada por otro método) antes de hacer una solicitud de red con AFNetworking traté como a continuación, pero no trabajo:Cómo cancelar solicitud de red con afnetworking

- (void)sendRequest:(NSUInteger)page{ 


NSURL *aUrl = [NSURL URLWithString:@"http://www.abc.com/"]; 
AFHTTPClient *httpClientToCancel = [[AFHTTPClient alloc] initWithBaseURL:aUrl]; 
[httpClientToCancel cancelAllHTTPOperationsWithMethod:@"POST" path:@"product/like"]; 
[httpClientToCancel release]; 

... start a new request here ..... 

Pero no funciona. Solo quiero cancelar todas las solicitudes (al menos la solicitud que escribí arriba) antes de comenzar una nueva solicitud.

¡Gracias!

+0

@mattt ¡Por favor, eche un vistazo! –

Respuesta

37

[[httpClient operationQueue] cancelAllOperations];

+1

hace esto? No estoy seguro de si mis solicitudes se cancelan creando una nueva instancia de httpClient y llamando a cancelAllOperations. – Alan

+2

Esto no funciona para mí ... los datos se sincronizan con el servidor incluso después de llamar a esta función. ¡¡Por favor ayuda!! – Anshul

+1

@mattt esto no funciona. todavía lo hace – Alan

11

no creen nuevos AFHTTPClient ejemplo.

tratar "[self cancelAllHTTPOperationsWithMethod:@"POST" path:@"product/like"];

+4

¿Qué es 'self' en este caso? –

1

Tanto las otras dos respuestas son correctas. No crear una nueva instancia de AFHTTPRequestOperationManager

 @interface OperateCustomerView() <WYPopoverControllerDelegate>{ 

     AFHTTPRequestOperationManager *manager;// = [AFHTTPRequestOperationManager manager]; 
    } 
- (void)viewDidLoad { 
    [super viewDidLoad]; 
    manager = [AFHTTPRequestOperationManager manager]; 
Cuestiones relacionadas