Ожидает ли CasperJs then () событий, отправленных в предыдущей функции?

Мне просто любопытно, как CasperJS обрабатывает события в отношении стека вызовов.

Допустим, у нас есть некоторый код:

casper.on('foo', function() {
    this.wait(60000);
    this.echo('foo');
});


casper.start('http://www.stackoverflow.com', function() {
    this.echo('start');
    this.emit('foo');
});


casper.then(function() {
    this.echo('done');
});

casper.run();

Я знаю, что тогда () будет ждать проверки против3 флага: pendingWait, loadInProgress и navigationRequested. Распечатка стека вызовов показывает, что вызов emit находится в функции start (), поэтому start () не будет считаться завершенным, пока событие не завершится? То есть затем будет () ждать окончания события

Я проверил это с ожиданием 60 секунд, и я получил вывод:

start
foo
done

Хотя я не был уверен, что превышение определенного таймаута вызовет следующий then ().

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

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