dispatch_group控制多個非同步介面
1.多個介面請求完成後重新整理UI
dispatch_group_t group_t = dispatch_group_create();
dispatch_group_async(group_t, dispatch_get_main_queue(), ^{
[weakSelf request1:group_t];
});
dispatch_group_async(group_t, dispatch_get_main_queue(), ^{
[weakSelf request2:group_t];
});
dispatch_group_notify(group_t, dispatch_get_main_queue(), ^{
[weakSelf.tableView reloadData];
});
2.dispatch_group_enter(group)、dispatch_group_leave(group)一一對應
- (void)request1:(dispatch_group_t)group_t {
WS(weakSelf)
dispatch_group_enter(group_t);
[manager GET:APIManager.share.baseUrl parameters:params progress:^(NSProgress * _Nonnull downloadProgress) {
progress(downloadProgress);
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
weakSelf.data1 = responseObject;
dispatch_group_leave(group_t);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
dispatch_group_leave(group_t);
}];
}
- (void)request2:(dispatch_group_t)group_t {
WS(weakSelf)
dispatch_group_enter(group_t);
[manager GET:APIManager.share.baseUrl parameters:params progress:^(NSProgress * _Nonnull downloadProgress) {
progress(downloadProgress);
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
weakSelf.data2 = responseObject;
dispatch_group_leave(group_t);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
dispatch_group_leave(group_t);
}];
}
相關文章
- extends多個介面
- 非同步/同步,阻塞/非阻塞,單執行緒/多執行緒概念梳理非同步執行緒
- 同步非同步,阻塞非阻塞非同步
- 非同步、同步、阻塞、非阻塞非同步
- WebApi Swagger 介面多版本控制 適用於APP介面管理WebAPISwaggerAPP
- portainer控制多個dockerAIDocker
- GCD(三) dispatch_groupGC
- 透過一個示例形象地理解C# async await 非並行非同步、並行非同步、並行非同步的併發量控制C#AI並行非同步
- 同步、非同步,阻塞、非阻塞理解非同步
- 同步、非同步、阻塞與非阻塞非同步
- 同步非同步 與 阻塞非阻塞非同步
- 理解阻塞、非阻塞、同步、非同步非同步
- java同步非阻塞IOJava
- Flutter 多個版本切換控制Flutter
- 同步、非同步、阻塞、非阻塞的區別非同步
- el-upload控制元件一次介面請求上傳多個檔案控制元件
- 搜狐號一鍵同步助手,多個賬號一鍵同步
- IO - 同步 非同步 阻塞 非阻塞的區別非同步
- 徹底搞懂同步非同步與阻塞非阻塞非同步
- 等待多個非同步任務的方法非同步
- 深入理解GCD之dispatch_groupGC
- 多個請求統一更新介面
- 愛奇藝一鍵同步工具,一鍵同步多個平臺
- 同步阻塞、同步非阻塞、多路複用的介紹
- 最安全的hexo多臺電腦同步部落格解決方案--非新建分支Hexo
- 大白話搞懂什麼是同步/非同步/阻塞/非阻塞非同步
- socket阻塞與非阻塞,同步與非同步、I/O模型非同步模型
- golang 利用 WaitGroup 控制多個 goroutine 同時完成GolangAI
- Java 非阻塞 IO 和非同步 IOJava非同步
- 使用 Syncthing 在多個裝置間同步檔案
- python 非同步佇列爬取多個網站Python非同步佇列網站
- 搜狐號多賬號運營工具,多個賬號同步運營
- 怎樣理解阻塞非阻塞與同步非同步的區別?非同步
- 一篇文章讀懂阻塞,非阻塞,同步,非同步非同步
- ♻️同步和非同步;並行和併發;阻塞和非阻塞非同步並行
- Java利用Redis實現非同步邏輯多使用者併發控制JavaRedis非同步
- 企鵝號一鍵同步工具,同步多個企鵝號,操作很簡單
- Promise非同步控制流模式Promise非同步模式