почему код phantomjs не проходит через массив?

После запуска этого кода он сохраняет бесконечное количество файлов с исходным кодом первой страницы ("http://site1.com"), почему он не переходит по другим ссылкам и не останавливается?

var args = ["http://site1.com", "http://site2.com", "http://site3.com"];

var fs = require('fs');
var i = 0;

function handle_page(file){
    page.open(file,function(){
        page.evaluate(function(){
            fs.write(i + '.html', page.content, 'w');
        });
        setTimeout(next_page,100);
   });
}

function next_page(){
   var file = args.shift();
   if(!file){ phantom.exit(0); }
   i++
   handle_page(file);
}
next_page();

Ответы на вопрос(1)

Ваш ответ на вопрос