CasperJS: перебираем URL

Я довольно новичок в CasperJS, но нет ли способа открыть URL и выполнить команды CasperJS для циклов? Например, этот код не работает так, как я ожидал:

casper.then(function() {
    var counter = 2013;
    for (i = counter; i < 2014; i++) {
        var file_name = "./Draws/wimbledon_draw_" + counter + ".json";
        // getting some local json files
        var json = require(file_name);
        var first_round = json["1"];
        for (var key in first_round) {
            var name = first_round[key].player_1.replace(/\s+/g, '-');
            var normal_url = "http://www.atpworldtour.com/Tennis/Players/" + name;
            // the casper command below only executes AFTER the for loop is done
            casper.thenOpen(normal_url, function() {
                this.echo(normal_url);
            });
        }
    }
});

Вместо каспера зоветthenOpen&nbsp;на каждом новом URL за итерацию он вызывается только ПОСЛЕ выполнения цикла for. CasperthenOpen&nbsp;затем вызывается с последним значением normal_url. Нет ли команды Каспера, чтобы она работала на каждой итерации цикла for?

Продолжение: Как заставить casper thenOpen возвращать значение на текущей итерации цикла for?

Скажем, например, мне нужно было вернуть значение на этомthenOpen&nbsp;(возможно, если статус HTTP 404, мне нужно оценить другой URL, поэтому я хочу вернуть false). Возможно ли это сделать?

редактированиеcasper.thenOpen&nbsp;позвоните выше:

    var status;
    // thenOpen() only executes after the console.log statement directly below
    casper.thenOpen(normal_url, function() {
        status = this.status(false)['currentHTTPStatus'];
        if (status == 200) {
            return true;
        } else {
            return false;
        }
    });
    console.log(status); // This prints UNDEFINED the same number of times as iterations.