JavaScript profond: API de repos WordPress et engagements JavaScript

Lorsque Matt Mullenweg a dit à tout le monde d’aller plus loin dans l’apprentissage du Javascript, la communauté a essayé frénétiquement d’interpréter ce que cela signifie pour WordPress. Qursquoest ce que tu devrais apprendre? Est ce un cadre, une bibliothèque ou un JavaScript normal? Maintenant, si avez tendance à ramasser quelque chose, êtes prêt à aller plus loin. Même si venez de commencer à apprendre des bibliothèques simples comme jquery, voudrez en savoir plus une fois que aurez terminé lrsquoanimation de base et fondu. Il y a quelques années, il a promis drsquoajouter nativement au JavaScript. Avant de prendre un engagement, laissez moi expliquer les besoins ou les problèmes auxquels ils sont confrontés.
Ajax et Code asynchrone si voulez apprendre le javascript, en particulier lrsquoAPI rest, crsquoest comme obtenir des données de votre site en utilisant JavaScript et voir les données sans recharger la page. Ajax a été présenté pour la première fois à la plupart des gens sur Facebook: il permet de voir les mises à jour du tableau de bord sans appuyer sur update. Pour en savoir plus sur Ajax, consultez quelques autres articles sur torquemag. moi. Crsquoest le problème. Var post = {}
$. Ajax
URL: ajaxurl +
Méthode:
Succès: fonction (res) {
Post = res
}
})
$. Chaque (position, fonction (clé, valeur)
$(
}) Dans le code ci dessus, jrsquoutilise les API jquery et rest pour capturer mes derniers messages en utilisant le paramètre posts et enregistrer la réponse du serveur sous var post. Je veux utiliser la réponse pour voir mes messages sur la page maintenant. Cependant, si exécutez ce code, une erreur apparaît indiquant que le poste nrsquoest pas défini ou, plus précisément, qursquoil est vide. Ce qui est le plus exaspérant, crsquoest que parfois ce code fonctionne bien et parfois pas. Crsquoest la définition des conditions de compétition, ou parfois où chargez des pages et des messages
Définition, tout va bien, parfois ce nrsquoest pas parce qursquoAjax nrsquoest pas encore terminé.
je voulais juste obtenir les derniers messages et les voir, je ferais quelque chose de plus comme ça: $. Ajax
URL: ajaxurl +
Méthode:
Succès: fonction (res) {
$. Chaque (res, fonction (clé, valeur)) {
$(
})
}
}) Tu vois la différence? Lorsque le serveur répond avec des données, jquery sait que lrsquoappel API a réussi, donc il exécute une autre fonction qui transmet les données de réponse. Dans sa forme la plus simple, il srsquoagit drsquoun exemple drsquoengagement. Techniquement, il srsquoagit drsquoun code asynchrone ou basé sur des données et des événements. La fonction successful ne fonctionne que si le serveur indique une connexion réussie.
JavaScript est un seul thread JavaScript est un seul thread, ce qui signifie qursquoil ne peut traiter qursquoune seule chose à la fois. Certaines langues sont multithreadées, ce qui signifie qursquoelles peuvent gérer plusieurs tâches ou faire plusieurs choses en même temps. JavaScript ne peut pas. Dans le passé, cela a été résolu par le javascript événementiel. Vous avez activé un événement et un auditeur drsquoévénements attend que lrsquoévénement soit déclenché pour exécuter plus de code. Comme pour les fonctions de succès ci dessus, lrsquoauditeur drsquoévénements nrsquoest exécuté que lorsque lrsquoévénement déclenché lrsquoinvite.
êtes confus par lrsquoévénement, utilisez jquery
Fais quelque chose.
})
Crsquoest une simple commande de clic, onclick, faire quelque chose. Lrsquoévénement est
Ltra Ajax appelle une autre API pour obtenir plus de données (comme le paiement) pour faire un autre appel Ajax (c. à D. mettre à jour les messages avec les détails de paiement) pour créer un nouvel objet pour chaque message en utilisant lrsquoélément de vue des données fusionnées si utilisez jquery ajax seul, cela peut devenir compliqué, mais pouvez continuer à revenir srsquoil y a un engagement. Mieux encore, en cas de défaillance, il ne pourra plus fonctionner. Cela permet de détecter rapidement les erreurs et de diagnostiquer les causes de leur échec. Dans lrsquoexemple ci dessus, si le paiement échoue, voudrez peut être arrêter la transaction et les aviser.
AngularJS $q Ce nrsquoest pas un secret que jrsquoaime AngularJS et ce qursquoil peut faire. Une de mes choses préférées, crsquoest qursquoil promet q $. Vous pouvez créer un objet de latence qui utilise lrsquoengagement pour augmenter la complexité de lrsquoapplication. De plus, de nombreuses autres fonctionnalités intégrées drsquoAngularJS sont basées sur des engagements. Cela inclut $http, le wrapper Ajax par défaut pour AngularJS, qui permet drsquoutiliser lrsquoengagement hors de la boîte sans trop de code supplémentaire. En savoir plus jrsquoai juste touché la surface de lrsquoengagement JavaScript. N’hésitez pas à laisser vos commentaires préférés sur l’engagement ou d’autres contenus que utilisez dans WordPress.
Note: lrsquoarticle JavaScript promet drsquoutiliser html5ocks. Le com de Jake Archibald offre une excellente introduction à ce sujet. Crsquoest écrit dans un langage compréhensible. Renseignez sur ces engagements et discutez de leur utilité et de ce que pouvez en faire.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

ContactPress Supported By WordPress Plugins