小编Arn*_*oss的帖子

在 mojolicious 渲染后做一些事情

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>
Run Code Online (Sandbox Code Playgroud)

render 似乎缓冲其 http 输出并在代码块完成后发送它。我希望在页面发送后执行一些操作。可以通过将以下内容替换“Do some”注释来观察缓冲。

   sleep 15;
   say "Wow, that was a long time!";
Run Code Online (Sandbox Code Playgroud)

我用的是win7,所以纯unix的解决方案不起作用。

perl mojolicious mojolicious-lite

5
推荐指数
1
解决办法
297
查看次数

标签 统计

mojolicious ×1

mojolicious-lite ×1

perl ×1