Array-Elemente können nicht an PhantomJS übergeben werden

Ich versuche, den Quellcode auf mehrere Webseiten gleichzeitig zu übertragen. Die Links werden über eine Quelltextdatei in das Array eingespeist. Ich kann durch das Array iterieren, die Links ausdrucken und bestätigen, dass sie vorhanden sind, aber wenn ich versuche, sie durch eine Funktion zu übergeben, werden sie nach der ersten Iteration undefiniert.

Mein oberstes Ziel ist es, die Quelle jeder Seite in einem eigenen Dokument zu speichern. Die erste Seite wird korrekt angezeigt, nachfolgende Versuche sind jedoch nicht definiert. Ich habe stundenlang gesucht, würde mich aber freuen, wenn mich jemand in die richtige Richtung weisen könnte.

var fs = require('fs');
var pageContent = fs.read('input.txt');
var arrdata = pageContent.split(/[\n]/);
var system = require('s,ystem');
var page = require('webpage').create();
var args = system.args;
var imagelink;
var content = " ";

function handle_page(file, imagelink){
    page.open(file,function(){
        var js = page.evaluate(function (){
            return document;
        });
        fs.write(imagelink, page.content, 'w');
        setTimeout(next_page(),500);
    });
}
function next_page(imagelink){
    var file = imagelink;
    if(!file){phantom.exit(0);}
    handle_page(file, imagelink);
}

for(var i in arrdata){
    next_page(arrdata[i]);
}

Mir ist jetzt klar, dass die for-Schleife nur einmal durchlaufen wird, dann bilden die beiden anderen Funktionen eine eigene Schleife, was zwar Sinn macht, aber immer noch Probleme beim Ausführen hat.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage