多個網(wǎng)絡(luò)請求后,再執(zhí)行某個操作

方式1 dispatch_group_enter && dispatch_group_leave

?? dispatch_group_t group = dispatch_group_create();

?? dispatch_group_enter(group);

?? [self getAdvertList:^(BOOL iscomple) {

?? ? ? dispatch_group_leave(group);

?? }];

?? // requset2

?? dispatch_group_enter(group);

?? [self getHotCultureList:^(BOOL iscomple) {

?? ? ? dispatch_group_leave(group);

?? }];

?? dispatch_group_notify(group, dispatch_get_main_queue(), ^{

?? ? ? //等待requset1, requset2均調(diào)用dispatch_group_leave則進(jìn)入dispatch_group_notify

? ? }


方式2 dispatch_semaphore_t

//信號量

? ? ? ? dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);

? ? ? ? //創(chuàng)建全局并行

? ? ? ? dispatch_group_t group = dispatch_group_create();

? ? ? ? dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);

? ? ? ? //任務(wù)一

? ? ? ? dispatch_group_async(group, queue, ^{

? ? ? ? ? ? [self getAdvertList:^(BOOL iscomple) {

? ? ? ? ? ? ? ? dispatch_semaphore_signal(semaphore);

? ? ? ? ? ? }];

? ? ? ? });

? ? ? ? //任務(wù)二

? ? ? ? dispatch_group_async(group, queue, ^{

? ? ? ? ? ? [self getHotCultureList:^(BOOL iscomple) {

? ? ? ? ? ? ? ? dispatch_semaphore_signal(semaphore);

? ? ? ? ? ? }];

? ? ? ? });



? ? ? ? dispatch_group_notify(group, queue, ^{


? ? ? ? ? ? //6個任務(wù),6個信號等待.

? ? ? ? ? ? dispatch_semaphore_wait(semaphore,DISPATCH_TIME_FOREVER);

? ? ? ? ? ? dispatch_semaphore_wait(semaphore,DISPATCH_TIME_FOREVER);

? ? ? ? ? ? //這里就是所有異步任務(wù)請求結(jié)束后執(zhí)行的代碼

? ? ? ? ? ? //[self.home TableView.mj_header endRefreshing];

? ? ? ? ? ? //這里兩個網(wǎng)絡(luò)請求結(jié)束后。獲取到的。一個參數(shù)用于第三個借口參數(shù)

? ? ? ? ? ? NSLog(@"------------4444444444444444-xin hao-------%@", self.imeiStr);

? ? };

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

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