I use the caolan 'async' module to open an array of file names (in this case, the names of the template files).
In the documentation, I use async.forEach () , so I can start the callback after all operations are complete.
A simple test case:
var async = require('async') var fs = require('fs') file_names = ['one','two','three'] // all these files actually exist async.forEach(file_names, function(file_name) { console.log(file_name) fs.readFile(file_name, function(error, data) { if ( error) { console.log('oh no file missing') return error } else { console.log('woo '+file_name+' found') } }) }, function(error) { if ( error) { console.log('oh no errors!') } else { console.log('YAAAAAAY') } } )
The output is as follows:
one two three woo one found woo two found woo three found
Ie it seems that the last callback is not working. What do I need to do to make the final callback fire?
source share