如何解决如何在事件侦听器中显示警报消息
我想在我的监听器上放置一条警告消息:
if ($type == '-'){
if ($balance < $amo) {
flash()->overlay('Warning!','Amount is higher than Balance.','warning');
} else {
$wallet->users()->updateExistingPivot($uid,["balance" => ($balance - $amo)]);
}
} else {
$wallet->users()->updateExistingPivot($uid,["balance" => ($balance + $amo)]);
}
但是这个 flash()
似乎不起作用。我的意思是,它不显示消息 Amount is higher than Balance.
。
那么如何通过监听器正确打印这条消息?
解决方法
事件应该是主要操作的“副作用”。
因此默认含义是,该事件不应有直接响应。
我认为你应该重新考虑你的代码设计。
无论如何
-
您可以通过事件将消息放入会话中来实现。这是强烈不推荐的(至少我不推荐)。但至少,请注意在使用后从会话中删除此消息。
-
你在 try/catch 中有你的事件发射器。如果尝试适合,您将闪烁消息。如果它不适合,您将在侦听器中抛出错误并捕获它。在那里你可以闪现另一条消息。同样,我什至不推荐这种解决方案
示例
if($type == '-'){
if($balance < $amo)
{
flash()->overlay('Warning!','Amount is higher than Balance.','warning');
}
else
{
$wallet->users()->updateExistingPivot($uid,["balance" => ($balance - $amo)]);
throw new \Exception('case1');
}
}else{
$wallet->users()->updateExistingPivot($uid,["balance" => ($balance + $amo)]);
throw new \Exception('case2');
}
然后像这样运行:
try {
event(new YourEventEmitter($params));
return view('dashboard')->with('message','event is ok');
} catch (\Exception $e) {
if ($e->message === 'case1')
return view('dashboard')->with('message','event error 1');
else if ($e->message === 'case2')
return view('dashboard')->with('message','event error 2');
}
**I DO NOT RECOMMEND THIS!!! IT IS NON-SENSE. EVENT SHOULD NOT DO ANYTHING WITH YOUR RESPONSE.**
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。