我应该如何处理 iOS 中的 ASIHTTPRequest 异步调用?

Posted

技术标签:

【中文标题】我应该如何处理 iOS 中的 ASIHTTPRequest 异步调用?【英文标题】:How should I handle ASIHTTPRequest asynchronous call in iOS? 【发布时间】:2012-04-17 21:11:17 【问题描述】:

我正在尝试使用 ASIHTTPRequest。我需要异步调用请求。我想要做什么,从我的应用程序调用这个方法,并且能够返回 BOOL 值,请求是否成功。我能够在同步调用中做到这一点。怎么可能呢?我需要以某种方式将值返回给我的应用程序,该调用是否成功。我的请求调用是单独分类的,我希望将逻辑与应用程序分开。这就是为什么我需要能够以某种方式返回价值。感谢您的帮助!

- (BOOL)sendRequest

         NSURL* url = [NSURL URLWithString:ServerApiURL];
    __block ASIHTTPRequest* request = [ASIHTTPRequest requestWithURL:url];

    [request setCompletionBlock:^
    

            if ([request responseStatusCode] == 200)
            
              //NEED SOMEHOW RETURN TRUE IF SUCESSED    
                   
    ];

    [request setFailedBlock:^
    
       //NEED RETURN FALSE  
    ];

    [request startAsynchronous];

【问题讨论】:

【参考方案1】:

由于您正在进行异步调用,该方法无法立即返回值,您可以做的是在您的完成和失败块中调用回调方法。例如,[delegate requestFinishedWithSuccess:YES] 或发布通知。

【讨论】:

以上是关于我应该如何处理 iOS 中的 ASIHTTPRequest 异步调用?的主要内容,如果未能解决你的问题,请参考以下文章

如何处理 iPhone 应用程序中的 NSError? [复制]

我应该如何处理包中的头文件?

我应该如何处理 RESTful API 中的对象层次结构?

我应该如何处理响应式设计中的 DOM 更改? [复制]

我应该如何处理 Python 中的包含范围?

如何处理不同语言的 iOS 推送通知