如何在 Yii2 中返回视图后执行代码

How to execute code after returning view in Yii2

提问人:Littlebob 提问时间:7/10/2022 更新时间:7/10/2022 访问量:123

问:

通常,当你在 Yii2 中调用一个页面时,几乎最后发生的事情就是视图被渲染到最终用户的屏幕上。在此之后,我需要运行可能需要一两秒钟的代码,并且我不想让用户等待。

我的第一个想法是设置一个全局事件,该事件在设置响应后被调用,因此我将其添加到一个方法中:

if (condition is met) {
    Yii::$app->on(yii\web\Response::EVENT_AFTER_SEND, function ($event) {
        // do stuff
    });
}

但这似乎从未被调用过。有谁知道我做错了什么,或者对如何解决这个问题有更好的想法?我只需要在呈现视图后运行代码。我真的不在乎它是怎么发生的。

事件 回调 yii yii2

评论

0赞 Insane Skull 7/10/2022
如果它是代码的单独部分,则在呈现视图后发送 ajax 请求。
0赞 Littlebob 7/11/2022
它需要在没有 AJAX 的情况下完成
0赞 Insane Skull 7/11/2022
渲染后事件是您的选择

答: 暂无答案