我使用predis,想要在PHP中订阅频道并等待30秒。如果没有接收到任何频道消息,则返回JSON响应。或者如果频道中存在消息,则也返回响应并退出。
例如,我希望Redis::subscribe返回$message,并且我可以返回响应。
我在Laravel的控制器中有一些代码:
Redis::subscribe(['PushAuthChanel'], function($message) {
echo $message; // Nothing happens
return response()->json($c, 200); // Nothing happens
//return $message; // Nothing happens too
});
为什么 Redis::subscribe 无法返回 $message?但是它会返回类似以下的退出代码:
Redis::subscribe(['PushAuthChanel'], function($message) {
return exit(0); //will work
dd($message); //will work fine
});