【发布时间】:2020-03-25 13:21:38
【问题描述】:
如何在 HypnoToad 发送页面后让我的代码执行某些操作? (注意:我正在回答我自己的问题。我发布这个问题是因为 StackOverflow 向我指出了一个没有直接解决我的问题的前一个问题,尽管它确实包含了我需要的线索。)
示例代码:
use Mojolicious::Lite;
get "/index" => sub {
my $c = shift;
$c->render("renderThis");
# Do something after rendering
};
app->start('daemon', '-l', 'http://*:8080');
__DATA__
@@ renderThis.html.ep
% layout "template" ;
<h1>Hello World</h1>
@@ layouts/template.html.ep
<!DOCTYPE html>
<html><head></head><body>
%= content
</body></html>
render 似乎缓冲了它的 http 输出并在代码块完成后发送它。我希望在发送页面后执行某些操作。可以通过将以下内容代替“做某事”注释来观察缓冲。
sleep 15;
say "Wow, that was a long time!";
我使用的是 win7,因此仅适用于 unix 的解决方案将无法正常工作。
【问题讨论】:
标签: perl mojolicious mojolicious-lite