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

Popular posts from this blog

get url and add instance to a model with prefilled foreign key :django admin -

css - Make div keyboard-scrollable in jQuery Mobile? -

android - Keyboard hides my half of edit-text and button below it even in scroll view -