Что на самом деле означает «тогда» в CasperJS

Я использую CasperJS для автоматизации серии кликов, заполнения форм, анализа данных и т. д. через веб-сайт.

Каспер, кажется, организован в виде списка предустановленных шагов в виде thenутверждений (, см. их пример здесь:http://casperjs.org/quickstart.html)но неясно, что запускает следующий оператор.

Например, ожидает ли thenзавершения всех ожидающих запросов? injectJSсчитается ожидающим запросом? Что произойдет, если у меня есть оператор then, вложенный -и связанный с концом оператора open?

casper.thenOpen('http://example.com/list', function(){
    casper.page.injectJs('/libs/jquery.js');
    casper.evaluate(function(){
        var id = jQuery("span:contains('"+itemName+"')").closest("tr").find("input:first").val();
        casper.open("http://example.com/show/"+id); //what if 'then' was added here?
    });
});

casper.then(function(){
    //parse the 'show' page
});

Я ищу техническое объяснение того, как работает поток в CasperJS. Моя конкретная проблема заключается в том, что мой последний оператор then(выше )выполняется перед моим оператором casper.open, и я не знаю, почему.

97
задан bendytree 22 July 2012 в 22:50
поделиться