Cet article vous apporte des nouvelles d'optimisation concernant la limite de 10 requêtes simultanées de l'applet WeChat ! ! ! Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.
C'est peut-être une nouvelle froide, donc le titre est plus excitant.
La limite de simultanéité des mini-programmes existe depuis longtemps, de 5 simultanéités lors de sa première sortie, à 10 simultanéités plus tard si le nombre de requêtes simultanées dépasse cette limite, il sera cruellement abandonné. , qui a donné naissance à De nombreux développeurs ont construit des roues de « file d'attente des demandes » dans leurs projets. Cependant, cette restriction a été officiellement levée par WeChat il y a un an et demi.
Limite de simultanéité de 10 requêtes
Concernant la limite de simultanéité, la documentation du développeur WeChat dit ceci :
Cette restriction signifie qu'en même temps, le nombre total de wx.request, wx.uploadFile et wx.downloadFile simultanés ne peut pas dépasser 10.
À ce jour, de nombreux développeurs respectent encore cette règle.
De nombreuses personnes maintiennent soigneusement le nombre de demandes lorsqu'elles rédigent des affaires. Afin de contrôler le nombre de requêtes, certaines requêtes parallèles sont spécifiquement modifiées en série, ou une file d'attente de requêtes est introduite pour gérer les mini-requêtes de programme.
Les efforts que ces développeurs seniors ont déployés pour respecter cette règle reflètent quelque peu leur impuissance des premières années lorsqu'ils demandaient à être cruellement abandonnés après le dépassement du montant.
Ci-joint l'erreur de console de la bibliothèque de base du mini programme version 1.3.0 :
À ce jour, il y a encore des développeurs discuter des méthodes pour résoudre la limite de concurrence des mini-programmes
Messages ignorés
En fait, WeChat l'a fait dans la mise à niveau de la version 1.4.0 de la bibliothèque de base en juillet 2017 Optimisation, les demandes qui dépassent la limite de concurrence sont mises en file d'attente, mais de nombreux développeurs ne sont pas au courant de cette nouvelle.
À proprement parler, cette optimisation ne lève pas complètement les restrictions de concurrence d'origine. La limite supérieure actuelle pour le traitement des demandes en même temps est toujours de 10, mais les demandes au-delà de 10 seront mises en file d'attente. Lorsqu'une demande précédente est terminée, les demandes dans la file d'attente seront envoyées et traitées dans l'ordre * Ne dépasseront pas directement 10. avant La demande est rejetée.
Journal des modifications de la bibliothèque de base de l'applet de pièce jointe 1.4.0 (partie) :
Maintenant, nous pouvons enfin ignorer la limite de simultanéité des requêtes , a joyeusement envoyé la demande. Après tout, toutes les demandes peuvent être envoyées, mais l'efficacité sera plus lente que dans le cas de aucune limite de concurrence.
La posture correcte pour l'envoi des requêtes
Comme mentionné ci-dessus, l'applet WeChat ajoute le traitement de la file d'attente pour les requêtes qui dépassent la limite de simultanéité dans la version 1.4.0 de la bibliothèque de base Optimisé, dans les versions inférieures à 1.4.0, les requêtes qui dépassent la partie concurrente seront rejetées.
Selon les données officielles de WeChat, en décembre 2018, la proportion d'utilisateurs sous la version 1.4.0 était d'environ 0,04 %. Bien que les mini-programmes actuels soient rarement compatibles avec une version aussi basse, elle convient toujours à certains. Les Les mini-programmes ayant des besoins spéciaux doivent également faire attention aux différences entre les bibliothèques de base.
Une autre chose à noter est le mécanisme de mise en file d'attente des requêtes simultanées pour les mini-programmes. Lorsqu'il y a plus de 10 requêtes appelées en même temps, l'applet lancera d'abord 10 requêtes simultanées, et les parties dépassant 10 seront mises en file d'attente dans l'ordre des appels. Lorsque la requête précédente est terminée, la requête suivante dans la file d'attente sera. être envoyé.
Ci-joint un test simultané de 20 requêtes :
Résultats du test :
Comme vous pouvez le voir sur la figure, les 10 premières requêtes sont envoyées en même temps, et le point de départ de la requête suivante correspond au point final d'une requête précédente, ce qui peut refléter le comportement de file d'attente de la requête.
Cela signifie que lorsqu'il y a de nombreuses demandes simultanées, vous devez avoir une bonne stratégie de file d'attente et ajuster l'ordre d'appel en fonction de l'importance de la demande et du temps de réponse. Si vous rencontrez une réponse lente à la demande, vous pouvez envisager d'effectuer un traitement de délai d'attente, pour éviter beaucoup d'attente et affecter l'expérience utilisateur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!