Je développe un concept de "plugins" dans lequel j'ai une série de fichiers, chacun contenant une seule fonction (un plugin). Je voudrais charger et exécuter automatiquement ceux-ci en utilisant promise.all()
.Node.js - charge et exécute plusieurs fonctions en utilisant Promise.all()
Problème: chaque fonction de plug-in ne s'exécute pas.
Voici mon exemple plugin plugins/example.js
:
"use strict";
exports = function() {
return new Promise(function(resolve, reject) {
console.log("Plugin running....");
setTimeout(resolve, 200, 'example plugin succeeded!');
});
};
De mes app.js je puis charger tous les plugins en utilisant le module require-all NPM:
const plugins = require('require-all')(__dirname + '/plugins');
J'essaie alors d'exécuter tout dans le cadre de ma chaîne de promesses:
return Promise.all([plugins]);
Aucun enregistrement n'a lieu à partir de la fonction. Il est intéressant lorsque je me connecte le contenu de plugins
, je vois et objet vide:
{
"example": {}
}
Quelqu'un peut-il dire pourquoi la fonction exemple n'est pas appelé?
'plugins' est un objet avec des clés et des valeurs représentant les plugins chargés, et' promise.all' accepte un tableau de promesses, deux choses différentes – adeneo
Vous n'appelez jamais * la fonction exportée, n'est-ce pas? – Bergi