J'ai une fonction qui effectue plusieurs appels à une API REST. L'appel initial est fait, je reçois quelques valeurs pour faire le prochain appel et analyser le JSON dans les objets personnalisés. Une fois que j'ai fini, j'appelle la fonction à nouveau avec une nouvelle URL. Je fais un total de 8 appels et au total cela prend environ 10-14 secondes. J'utilise Alamofire pour le réseautage et SwiftyJSON pour analyser. J'ai mis dans un tas de contrôles d'intervalle de temps dans la fonction pour voir ce qui prenait le plus de temps. Une fois les données JSON récupérées, l'exécution de la logique et de l'analyse prend au total environ 300 ms, mais le temps nécessaire à la demande d'Alamofire pour récupérer le JSON est de 1,3 à 1,5 seconde. J'ai couru une tonne de tests et le meilleur que j'ai pu obtenir était de 700ms pour un appel mais la plupart ont duré plus d'une seconde. Quand je les lance dans Postman (un total de 8 avec un retard de 300ms) il faut 300ms à 700ms chacun. Environ deux fois plus vite. Cela semble-t-il correct ou devrais-je voir les demandes prendre autant de temps que je le fais dans Postman? En utilisant le même ordinateur et en exécutant l'application sur un simulateur et mon téléphone avec les mêmes résultats. Voici mon code dépouillé:Les requêtes Alamofire sont-elles lentes?
func parse() {
Alamofire.request(jsonURL).responseJSON { response in
switch response.result {
case .success(let value):
let json = JSON(value)
//Check for 200 code
if json["meta"]["code"].intValue == 200 {
// doing lot of stuff
}
case .failure(let error):
print(error)
print("json failed")
}
}
}
Merci pour la réponse. J'ai enlevé cette vérification et il ne semble pas avoir eu trop d'effet quand je compare le temps au facteur. Je vais le garder dehors au cas où. – HH887
Pouvez-vous poster vos résultats de journaux et de facteurs s'il vous plaît. Aussi, pouvez-vous me montrer votre code. S'il n'y a pas trop d'effet, vous pouvez conserver le code. –