O que 'então' realmente significa em CasperJS

Estou usando o CasperJS para automatizar uma série de cliques, formulários preenchidos, análise de dados etc. por meio de um sit

@Casper parece estar organizado em uma lista de etapas predefinidas na forma dethennstruções @ (veja o exemplo aqui:http: //casperjs.org/quickstart.htm), mas não está claro o que aciona a próxima instrução para ser executad

Por exemplo,then aguarda a conclusão de todos os pedidos pendentes? FazinjectJS contar como uma solicitação pendente? O que acontece se eu tiver umthen declaração aninhada - encadeada ao final de umopen declaração

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
});

Estou procurando uma explicação técnica de como o fluxo funciona no CasperJS. Meu problema específico é que meu últimothen instrução @ (acima) é executada antes do meucasper.open declaração e não sei por qu

questionAnswers(3)

yourAnswerToTheQuestion