javascript - q.all being returned before promise is completed -


i'm trying use q.all manage process of multiple npm install module_name methods.

strangely, appears though promise being returned before promise completed.

installnodemodules: function(module_list){             function installmodule(module_name){                 var defer = q.defer();                 console.log(module_name);                 exec_child_process('npm install '+module_name, function(err,stdout,stderr){                     if(err) defer.reject(err);                     defer.resolve();                     return defer.promise;                 });             }              var promise_array = [];             (var =0; i<module_list.length;i++){                 promise_array.push(installmodule(module_list[i]));                    console.log('promises array created');             }               q.all(promise_array).done(function(){                     console.log('promises returned');                    });         }, 

i've tried using both done & then methods after all, same result, promise returned before npm install has completed.

installmodule should written this:

        function installmodule(module_name){             var defer = q.defer();             console.log(module_name);             exec_child_process('npm install '+module_name, function(err, stdout, stderr){                 if(err) {                     defer.reject(err);                 } else {                    defer.resolve();                 }             });            return defer.promise;         } 

it installmodule should return promise, not callback.


Comments

Popular posts from this blog

php - SPIP: From Tag directly to an article -

jquery - isAjaxRequest always return false -

ruby on rails - In a controller spec, how to find a specific tag in the generated view? -