簡單粗暴的處理多個網(wǎng)絡(luò)請求后合并處理

OC版

    dispatch_group_t group = dispatch_group_create(); //創(chuàng)建一個組

    dispatch_group_enter(group);  //啟動一個鎖
    dispatch_group_enter(group);  //啟動兩個鎖   (需要幾個寫幾個)
    
    dispatch_group_notify(group, dispatch_get_main_queue(), ^{ // 等待完成通知 所有的鎖leave之后調(diào)用這里
        
        NSLog(@"所有請求都完成了,愛干啥干啥");
    });

    [BMCLHttpManager httpDownloadWithUrl:kURL1 progress:nil successful:^(NSURL *filePath) {  //第一個請求
        
        dispatch_group_leave(group);  //第一個請求完成 退出鎖
        
    } error:nil];
    
    [BMCLHttpManager httpDownloadWithUrl:kURL2 progress:nil successful:^(NSURL *filePath) {  //第二個請求
        
        dispatch_group_leave(group); //第兒個請求完成 退出鎖

    } error:nil];

swift版

        let group = DispatchGroup() //創(chuàng)建一個組
        
        group.enter()   //啟動一個鎖
        group.enter()   //啟動兩個鎖   (需要幾個寫幾個)
        
        group.notify(queue: DispatchQueue.main) { // 等待完成通知 所有的鎖leave之后調(diào)用這里
            print("所有請求都完成了,愛干啥干啥")
        }
        
        netWork { (res) in      //第一個請求 (偽代碼)
            
            group.leave()       //第一個請求完成 退出鎖
        }
        
        netWork { (res) in      //第二個請求 (偽代碼)
            
            group.leave()       //第兒個請求完成 退出鎖
        }

注意: enter 和 leave 是要成對出現(xiàn)的

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容