当前位置: 首页 > 面试题库 >

如何知道多个网络通话何时结束,才能完成通话

燕超
2023-03-14
问题内容

我是新手Swift,这个问题可能真的很愚蠢。所以请和我一起。

我有一个collection要通过Webservice电话重置的设备。这是我Function现在的样子(尚未完成)

func resetDevice(completion: () -> ()) {
    for device in devices {
        device.isValid = 0
        DeviceManager.instance.updateDevice(device).call { response in
            print("device reset")
        }
    }
}

我不太确定该打电话给我的完成电话,也不确定如何100%确保所有电话都已结束。有什么帮助吗?


问题答案:

我建议使用调度组:

func resetDevice(completion: () -> ()) {
    let dispatchGroup = DispatchGroup()

    for device in devices {

        dispatchGroup.enter()

        device.isValid = 0

        DeviceManager.instance.updateDevice(device).call { response in
            print("device reset")
            dispatchGroup.leave()
        }
    }

    dispatchGroup.notify(queue: DispatchQueue.main) {
        // Some code to execute when all devices have been reset
    }
}

每个设备都立即进入该组,但直到收到响应后才离开该组。在所有对象都离开组之前,不会调用最后的notify块。



 类似资料:
  • 我想模拟Gmail关于通知栏通知的应用程序行为,它符合推荐的Android模式:http://developer.Android.com/design/patterns/notifications.html 即特定于单个邮件的通知,点击该通知将显示该特定电子邮件的屏幕。如果我通过刷清或使用“清除所有”清除通知,那么当我得到一个新消息时,我将得到另一个消息特定的通知。但如果我没有清除它,而我又收到另

  • 问题内容: 我是Android开发的新手。我想拨打电话,但不想将号码存储在我的通话记录中。通话结束后如何从通话记录中删除该号码? 问题答案: 我无论如何都使用4.2.2,我不得不修改aftab的代码,因为它对我不起作用。给出我想做的事情可能是一个麻烦的问题,即在传入呼叫结束后立即更新呼叫日志。我认为我必须给操作系统足够的时间来更新表,然后再删除条目,否则它将不存在: 并调用我在另一个线程上运行的函

  • 问题内容: 我设法用Jsch通过ssh执行了一条命令,但是当我尝试执行第二条命令时却失败了 为了调试,我将此问题归结为以下几行: 这主要是官方的Exec示例,但这给了我以下输出: 第一个命令成功执行,第二个则没有成功。 有任何想法吗 ? 问题答案: 嘿,jsch和Ubuntu完全一样。(如何)解决了?为每个执行执行新会话会浪费太多时间?此刻,我捕获了jsch异常并搜索“会话未关闭”,然后我重新连接

  • 然而,我不明白如何扩展这个模型来处理多个通道。每个特征图是否需要三个独立的权重集,并在每种颜色之间共享? 参考本教程的“共享权重”部分:http://deeplearning.net/tutorial/lenet.html特征图中的每个神经元都引用层m-1,颜色是从单独的神经元引用的。我不明白他们在这里表达的关系。神经元是核还是像素?为什么它们引用图像的不同部分? 根据我的例子,一个神经元内核似乎

  • 问题内容: [编辑:已解决,请参阅问题文本的中途] 有关了解在YouTube页面上播放视频的内容的快速提问: 综上所述 作为基于浏览器的GUI的一部分,我使用Selenium在Youtube上播放视频。 我需要知道视频何时完成播放,以便GUI进行其他操作(例如,将本地HTML馈入浏览器)。 代码段和问题 在这一点上,我可以考虑视频的长度。 但是,我想知道是否可以通过Selenium驱动程序查询Yo

  • 问题内容: 我有一个带有行的表格样式页面。每行都有一个复选框。我可以选中所有/很多复选框,然后单击“提交”,这是对每一行的Jquery ajax调用。 基本上,我为每一行都有一个表单,并且遍历所有选中的行并提交执行jquery ajax调用的表单。 所以我有一个按钮,它可以: 那么每一行都有: 该表格提交给processRow: 我想知道的是,通过这种方法,我可以判断出我所有的Ajax调用是否均已