2012年11月26日 星期一

透過某種"方式"讓Node.js程式順序執行

var exec = require('child_process').exec;

var arr = [1,2,3,4,5,6,7];
                      
function doit(v){
  exec('echo ' + v, function(err, stdo, stde){
    console.log('-->' + stdo);
    if(arr.length >0) //如果array還有值,則再call一次本身
      doit(arr.pop());
  });
}

doit(arr.pop());

執行結果:
# node test.js 
-->7
-->6
-->5
-->4
-->3
-->2
-->1