事件应该是您主要操作的“副作用”。
因此默认含义是,该事件不应该有直接响应。
我认为你应该重新考虑你的代码设计。
反正
您可以通过您的事件将消息放入会话中来做到这一点。这是强烈不推荐的(至少我是这样)。但至少,请注意在使用后从会话中删除此消息。
你在 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.**