Comment pouvons-nous utiliser promise dans les packages node.js

Lorsque nous écrivons un module pour node.js, nous utilisons des fonctions de rappel. J’ai appris des promesses en javascript et je veux utiliser le module node.js. Pouvons-nous utiliser des promesses au lieu de fonctions de rappel? si on peut, comment

remarque: via la fonction dans le fichier du module de noeud (vous connaissez exports.some_func), nous faisons quelque chose et nous pouvons renvoyer des informations avec callback. Pouvons-nous utiliser promesse au lieu de ce rappel?

Pouvons-nous utiliser promesse au lieu de ce rappel?

Oui, plutôt que d’accepter un rappel dans votre fonction exscope, vous pouvez simplement renvoyer une promesse et vous assurer que cette promesse est résolue / rejetée avec la valeur / le motif approprié lorsque l’opération asynchrone est effectuée.

Voici un exemple:

Imaginez que vous ayez une interface de module pour lire un fichier, cette interface peut alors renvoyer une promesse comme celle-ci:

 // myFileModule.js const fs = require('fs); module.exports.getFile = function(filename, options) { return new Promise(function(resolve, reject) { fs.readFile(filename, options, function(err, data) { if (err) return reject(err); resolve(data); }); }); } 

L’appelant l’utilisera alors comme ceci:

 const myFiles = require('myFileModule.js'); myFiles.getFile('temp.txt').then(function(data) { // process data here }, function(err) { // got an error here });