Ожидает ли 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 ().