美文网首页
ios等待 异步回调

ios等待 异步回调

作者: c5f8c453b41e | 来源:发表于2017-02-04 16:51 被阅读136次

项目中需求,需要发起一个异步网络请求,等待请求数据回来后才可以进行之后的操作。
首先,定义一个BOOL类型的requestEndFlag,当网络数据回来的时候将endFlag置为YES,然后将下面的代码粘贴到网络请求的下方即可。如果网络请求一直没回来,你会发现运行的代码会一直在执行卡在下面的代码块中,并且不会卡住UI画面。

- (void)waitingRequestEnd  
{  
    if ([NSThread currentThread] == [NSThread mainThread]) {  
        while (!requestEndFlag) {  
             [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.3]];  
        }  
    } else {  
        @autoreleasepool {  
            while (requestEndFlag) {  
                [NSThread sleepForTimeInterval:0.3];  
            }  
        }  
    }  
}  

相关文章

  • ios等待 异步回调

    项目中需求,需要发起一个异步网络请求,等待请求数据回来后才可以进行之后的操作。首先,定义一个BOOL类型的requ...

  • 同步、异步

    同步:等待结果异步:不等待结果 注意,异步常常伴随回调一起出现,但是异步不是回调,回调也不一定是异步。 【时序图】...

  • [iOS][OC] 自定义 Promise 处理串行的异步操作

    背景 iOS 应用中很多操作是异步的,比如: 网络请求的回调 UIAlertController 等待用户点击事件...

  • java http请求中调用socket/websocket业务

    关键检索:request等待异步回调并继续执行,http请求挂起等待socket异步回调。随着智能行业蓬勃发展,难...

  • JS-异步和同步

    简单来说同步和异步可以这么形容。同步:等待结果异步:不等待结果需要注意的是异步常常伴随回调一起出现,但是异步不是回...

  • iOS异步回调

    需求 下载.mp3文件 下载歌词文件 播放音乐的同时显示歌词 这个需求里面下载歌词和.mp3文件是两个不同的异...

  • NEST.JS中同步等待异步回调结果

    如果方法需要在等待异步回调后取值返回 使用 await Promise

  • 异步的实现

    异步的三种实现方式: 回调函数事件Promise 回调函数 回调函数不一定是异步 但是异步一定是回调函数。 事件 ...

  • iOS 控制异步回调

  • ios 异步回调选择

    异步调用,比较常用,比如网络请求等,都需要等别的模块处理完成后,我们这边再进行处理,然而外部什么时候能处理完是一个...

网友评论

      本文标题:ios等待 异步回调

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