javascript - Resolve promise when multiple writeFile functions finished after for-loop in node.js -
first of all, here part of current code:
return new promise(function(resolve, reject) { (var = 1; <= variables; i++) { fs.writefile("file-" + + ".txt", datastring + ' ' + + ' 0', "utf-8"); } if (i == variables) resolve('files have been written'); else reject('some error occured'); })
my problem don't know how tell promise resolve after files have been written writefile()
async. want use these files in next then()
when written drive. can me out here? i'm kind of lost right , new node.js please bear me :)
thanks in advance!
#update 1:
var promises = []; (var = 1; <= variables; i++) { promises.push(promise.resolve( new promise(function(resolve, reject) { fs.writefile('file-' + + '.cnf', dimacs2 + ' ' + + ' 0', 'utf-8', function(err) { if (err) { reject(err); } else { resolve(); } }); } ))); } promise.all(promises).then(function() { // code runs after files have been written });
maybe you're looking this:
promise.all( variables.map(function (variable, i) { return new promise(function (resolve, reject) { fs.writefile("file-" + + ".txt", datastring + ' ' + + ' 0', "utf-8", function (err) { if (err) { reject(err); } else { resolve(); } }); }); }) ) .then(function () { // files have been written }) .catch(function (err) { // errors occured });
Comments
Post a Comment