J'ai écrit un script de nœud qui reçoit des données en demandant des données API de repos (à l'aide de la demande de bibliothèque). Il se compose de quelques fonctions, comme:
Fetcher.prototype.init = function() { async.parallel([ this.getTwitterData.bind(this), this.getKloutData.bind(this) ], function() { console.log('done'); }); } Fetcher.prototype.getKloutData = function(callback) { function saveData() { /* store data */ } request(url, saveData.bind(this); };
3 Réponses :
Vous pouvez enregistrer cela dans une autre variable: puis me code> est votre
ce code>. p> p>
Vous le faites exactement bien.
L'alternative consiste à conserver une référence à l'objet toujours dans le contexte au lieu d'utiliser Vous pouvez également faire la reliure à l'avance: p> lier code>, mais qui nécessite une gymnastique: p> < Pré> xxx pré>
La bibliothèque de soussecore a une fonction pratique appelée Bindall code> qui rend cela moins douloureux. Et si vous optez pour Coffeescript, vous pouvez simplement définir les méthodes avec la flèche de la graisse et vous ne serez pas obligé de faire une liaison explicite du tout.
objet instancier avec cette fonction: Ceci fera une liaison automatique de toutes les fonctions, de sorte que vous obtiendrez un objet dans un style d'habitude,
Lorsque des méthodes à l'intérieur d'objets ont un contexte de son objet. P> Vous pouvez donc instancier des objets non via: p> mais: p> var obj = newClass(Fetcher);
Ma question initiale était dans un environnement Nodejs où JQuery n'a pas de sens. Aussi les méthodes code> Bindall CODE> dans le soussecore et Lodash (LOGS fonctionnant dans tous les environnements JS) sont conçus pour vous faire pour vous.