Maison  >  Article  >  interface Web  >  Comment appeler des méthodes Meteor dans les assistants de modèles et gérer les réponses asynchrones ?

Comment appeler des méthodes Meteor dans les assistants de modèles et gérer les réponses asynchrones ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-30 13:36:03246parcourir

How to Call Meteor Methods in Template Helpers and Handle Asynchronous Responses?

Appel de méthodes Meteor dans les assistants de modèles

Dans MeteorJS, il est possible de définir des méthodes qui peuvent être invoquées à partir des assistants de modèles. Cela vous permet d'effectuer des actions côté serveur et de récupérer des données pouvant être affichées dans vos modèles.

Pour y parvenir, suivez ces étapes :

  1. Définir votre méthode Meteor :
    Dans un fichier séparé, tel que lib/test.js, définissez votre méthode Meteor à l'aide de l'API Meteor.methods(). Par exemple :

    <code class="js">Meteor.methods({
        viewTest: function (str) {
            return str;
        }
    });</code>
  2. Appelez la méthode dans votre assistant de modèle :
    Dans votre assistant de modèle, invoquez la méthode Meteor à l'aide de Meteor.call( ) fonction. Par exemple, dans client/myView.js :

    <code class="js">Template.helloWorld.helpers({
        txt: function () {
            var str = Meteor.call('viewTest', 'Hello World.');
            return str;
        }
    });</code>

Initialement, votre modèle peut n'afficher aucune valeur si vous transmettez un argument autre qu'une chaîne au paramètre str. En effet, la méthode Meteor s'exécute de manière asynchrone et le modèle s'affiche avant que le résultat de la méthode ne soit disponible.

Résolution des appels de méthode asynchrone

Pour contourner ce problème et garantir que votre modèle se met à jour avec la réponse de la méthode, vous pouvez utiliser l'une des techniques suivantes :

  • Variables réactives (recommandées) :
    Cette approche introduit une variable réactive attachée au instance de modèle. Lorsque le rappel de la méthode se déclenche, la variable est mise à jour avec le résultat, provoquant le rendu automatique du modèle.
  • Variables de session :
    Vous pouvez stocker la réponse de la méthode dans une variable de session, qui est globalement accessible à partir de modèles et d’autres parties de l’application. Cependant, cette approche peut introduire une pollution de l'espace de noms si plusieurs méthodes mettent à jour la même variable de session.

Conclusion

En utilisant les méthodes Meteor dans les assistants de modèles, vous pouvez effectuer actions côté serveur et récupérez les données de manière dynamique dans vos modèles. En utilisant des variables réactives ou des variables de session pour gérer les appels de méthode asynchrones, vous pouvez vous assurer que votre modèle affiche des informations mises à jour une fois la méthode terminée.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn