Llamada a módulos en orden específico en nodo
He usado el siguiente código para llamar a dos módulos, pero la acción de invocación se llama antes del archivo de validación (vi en depuración). Lo que debo hacer para verificar quevalidateFile
se llama antesappHandler.invokeAction
? ¿Debo usar una promesa?
var validator = require('../uti/valid').validateFile();
var appHandler = require('../contr/Handler');
appHandler.invokeAction(req, res);
Actualizar
este es el código del archivo de validación
var called = false;
var glob = require('glob'),
fs = require('fs');
module.exports = {
validateFile: function () {
glob("myfolder/*.json", function (err, files) {
var stack = [];
files.forEach(function (file) {
fs.readFile(file, 'utf8', function (err, data) { // Read each file
if (err) {
console.log("cannot read the file", err);
}
var obj = JSON.parse(data);
obj.action.forEach(function (crud) {
for (var k in crud) {
if (_inArray(crud[k].path, stack)) {
console.log("duplicate founded!" + crud[k].path);
break;
}
stack.push(crud[k].path);
}
})
});
});
});
}
};