问题标签 [dispatchgroup]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 使用调度组时如何使公共资源线程安全?
我有一个用户类,每次用户打开应用程序时都需要更新
在我的主屏幕 ViewController 中,我有一个使用 3 个 Alamofire 请求从后端获取数据的函数。最后,我将数据保存在 UserDefaults 中。DispatchGroup 是我首先想到的实现这一点。这是代码
但我不清楚我的用户对象的线程安全性。由于它将在三个不同的回调中更新,线程安全在这里会是一个问题吗?如果是,解决问题的最佳方法是什么?我正在考虑使用 DispatchSemaphore。但我不确定这是否是正确的方法。
ios - 按顺序执行带有可选异步调用的 for 循环
我有一个function
检索我正在使用的一些数据for-loop
。里面可能asynchronous function
会调用an但不一定。在我正在做的事情完成后,我completion
也在开火。问题是我需要循环按顺序执行!loop
DispatchGroup
这是我的代码:
我看到了这个非常相似的问题,但我正在努力将其应用于我的案例,因为在我的案例中,asynchronous call
如果没有image
. 有谁可以帮我离开这里吗?
swift - 如何在带有异步函数 Swift 的循环中使用调度组?
我已经检查了有关此主题的所有问题,但没有一个有帮助。我有如下代码。现在,只要代码进入for id in stringArray
循环,它就会在stringArray.count
没有进入 firestore 异步部分的情况下执行一段时间。这是可以理解的,但不是我的要求。我想myGroup.notify
在循环和异步代码完成后执行。但是由于循环很容易完成,因此myGroup.notify
即使异步尚未完成也会被调用。所以,基本上可能是我在这里要求将myGroup.enter
and放置myGroup.leave
在正确的位置。谢谢!
我的代码:
ios - 调用两个 API 并构建结构 - iOS - Swift
我知道这很常见,但找不到答案。我想过使用 dispatchGroups 但不知道我该怎么做
要求:API 1 给出 id,我需要用那个 id 构造 url 并调用另一个 API 来获取 imageUrl,然后用 imageUrl 构建结构
接口 1:
API 2
代码
我知道这是不对的..请建议我如何实现这种情况
swift - 如何使for-in循环等待数据获取功能完成
我正在尝试使用 for in 循环函数获取一堆数据,但它不会以正确的顺序返回数据。看起来有些数据需要更长的时间才能获取,因此它们混合在一个数组中,我需要将所有数据按正确的顺序排列。所以,我使用了 DispatchGroup。但是,它不起作用。你能告诉我我在这里做错了什么吗?花了 10 个小时寻找解决方案……下面是我的代码。
ios - Swift - 离开 dispatchGroup 时是否需要调用 continue
我有一组对象,我必须使用 afor-loop
和进行迭代DispatchGroup
。离开组内时for-loop
,需要打电话continue
吗?
swift - Swift - 为什么 DispatchGroup 在这个函数中不起作用?
idToken
在返回变量之前,我正在等待响应。
请不要告诉我只使用完成处理程序并在没有DispatchGroup
. 我知道我可以做到,但我试图理解为什么这个逻辑不起作用。
跑步:
输出:
swift - Swift 代码在不应该运行的情况下运行两次
我有一个转义函数,一旦满足条件就完成:
要满足的条件是 counter == 0。一旦满足,函数完成并退出 DispatchGroup。问题是 counter == 0 多次为真(退出 DispatchGroup 时明显崩溃)。我真的不明白为什么不止一次满足这个条件。代码非常线性,我看不出是什么原因造成的。非常感谢任何帮助。这让我快疯了。
swift - DispatchQueue 冻结主队列
我需要在一个单独的线程中一个一个地做一些方法而不会中断,就像我在课堂上那样
当我需要显示/隐藏时,我会这样做
或者
在这种__%%()
方法中,我需要在主线程中对 UI 进行一些操作,并且我需要从 --show/--hide 中执行所有操作,而不会中断。所以在内部,我使用
但该应用程序始终在线冻结,g.wait()
不调用main.async
也不打印go?
。我做错了什么!?
swift - 调度组不返回获取的数据
我正在尝试使用 DispatchGroup 从多个请求中获取数据。我不明白为什么 print(weatherData.fact.pressureMm!) 正在工作,但数据没有附加到 dataArray 和 print(dataArray?[0].fact.pressureMm ?? "nil") 打印为零。
我也尝试从 complitionHandeler 打印数据,结果是一样的。
我如何在数组中附加 weatherData 并正确地从编译中获取值?