Q.js - Utilisation de différé
Comment puis-je obtenir la valeur du texte à partir de l'exemple ci-dessous?
Q. js a un exemple sur l'utilisation Différée:
var deferred = Q.defer();
FS.readFile("foo.txt", "utf-8", function (error, text) {
if (error) {
deferred.reject(new Error(error));
} else {
deferred.resolve(text);
}
});
return deferred.promise;
Dans ce cas, il y a un noeud asynchrone en fonction en cours d'utilisation. Ce que je veux faire est d'obtenir la valeur de texte à partir de la différés.promesse d'être renvoyé. Quand j'ai de la console.log(différé.promesse), je reçois ceci:
{ promiseSend: [Function], valueOf: [Function] }
Ce que je fais mal (comme je viens de le copier/coller l'exemple à partir d'ici: https://github.com/kriskowal/q#using-deferreds) ou quoi d'autre dois-je faire pour obtenir effectivement que le texte à partir du fichier?
Je suis conscient que node.js a une version synchrone de l'appel ci-dessus - mon objectif est de comprendre comment différés fonctionne avec cette bibliothèque.
source d'informationauteur Chris Abrams
Vous devez vous connecter pour publier un commentaire.
Vous pouvez obtenir la valeur via la
.alors()
méthode d'une Promesse:Aussi, les gestionnaires d'erreur peut être transmis comme un 2ème argument de
.then()
ou avec la.fail()
méthode:Voir https://github.com/kriskowal/q#adapting-node
Peut être réécrit dans un nodejs:
C'est étrange vous ne pouvez pas voir la sortie de
console.log(foo)
. Ne pas savoir pourquoi.Vérifier plus d'exemples ici https://github.com/kriskowal/q/wiki/Examples-Gallery