Je travaille avec DispatchGroup
, je l'utilise pour exécuter deux demandes à partir de deux serveurs différents. Lorsque la réponse provient de deux serveurs, DispatchGroup
s'appelle notify()
, le problème est qu'une réponse du serveur peut ne pas arriver (c'est arrivé une fois) comment DispatchGroup
peut s'annoncer après un certain temps? Ou comment puis-je arrêter le DispatchGroup
? J'ai fait un exemple, mais je pense que ce n'est pas ce dont j'ai besoin.Comment arrêter DispatchGroup après l'heure? iOS
Timer.scheduledTimer(withTimeInterval: 7.5, repeats: false) { [weak self] (timer) in
guard let _self = self else { return }
DispatchQueue.main.async {
if _self.leaveDispatchGroupDigit == 0 {
_self.requestGroup.leave()
_self.requestGroup.leave()
}
if _self.leaveDispatchGroupDigit == 1 {
_self.requestGroup.leave()
}
}
}
Je pense que la création d'une minuterie est une mauvaise façon. Comment exécutez-vous les demandes? Vous pouvez définir un délai d'attente pour eux, de cette façon, dans le rappel, vous pouvez envoyer un événement notifier – carlos21
Je suis d'accord. Corrigez le problème de la racine, que votre requête ne dépasse pas le délai imparti, plutôt que de vous contorsionner pour programmer le problème. – Rob
@ carlos21 Merci pour le conseil, alors je vais le faire. – Alexander