Heim > Web-Frontend > js-Tutorial > Hauptteil

Verwenden Sie q.js in node.js, um das Versprechen von api_node.js zu implementieren

WBOY
Freigeben: 2016-05-16 16:36:17
Original
1292 Leute haben es durchsucht

Um zu erfahren, was ein Versprechen ist und welche Probleme es löst, lernen Sie bitte die asynchrone Callback-Codierungsmethode von Node kennen und gehen Sie zu http://wiki.commonjs.org/wiki/Promises/A Siehe „Es hängt davon ab“. wie es definiert ist, daher werde ich hier nicht näher darauf eingehen.

Hier sehen wir uns an, wie man q.js verwendet, um das Versprechen der Node-API umzusetzen.

1. Alles beginnt mit der Installation

Code kopieren Der Code lautet wie folgt:

npm install q

2. Promise-Methode der Standard-Knotenstil-API

1. Verwenden Sie Q.nfcall

Im Vergleich zu Q.fcall ist Q.nfcall der Q.fcall des Knotens.

Code kopieren Der Code lautet wie folgt:

var FS = require('fs'),
Q = require('q'),
farben = require('colors'),
Datei = 'example.txt';
var fsReadFile = Q.nfcall(FS.readFile,file,encoding);
fsReadFile.then(function(result){
console.log((„in nfcall“-Datei aufrufen).red);
console.log(result.green);
},function(error){
console.log(“invoke in nfcall”.red);
console.log(error.toString().red);
}
);

2. Verwenden Sie Q.denodeify

Code kopieren Der Code lautet wie folgt:

var fsReadFile_denodeify = Q.denodeify(FS.readFile);

fsReadFile_denodeify(file,encoding).then(function(result){
console.log("invoke in denodeify".red);
console.log(result.green)
},function(error){
console.log("invoke in denodeify".red);
console.log(error.toString().red);
}
);

3. Verwenden Sie Q.deferd

Code kopieren Der Code lautet wie folgt:

var fsReadFile_deferd = function(file,encoding){
var deferred = Q.defer();
FS.readFile(file,encoding,function(error,result){
If(error){
        deferred.reject(error.toString().red);
}
deferred.resolve(result);
});

return deferred.promise;
};

fsReadFile_deferd(file).then(function(result){
console.log("invoke in deferd".red);
console.log(result.toString().green);
},function(error){
console.log("invoke in deferd".red);
console.log(error.toString().red);
}
);

4. Verwenden Sie makeNodeResolver()

Code kopieren Der Code lautet wie folgt:

var fsReadFile_makeNodeResolver = function(file,encoding){
var deferred = Q.defer();
FS.readFile(file,encoding,deferred.makeNodeResolver());
Rückgabe deferred.promise;
};

fsReadFile_makeNodeResolver(file,encoding).then(function(result){
console.log("invoke in makeNodeResolver".red);
console.log(result.green);
},function(error){
console.log(error.toString().red);
});
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage