Cześć, mam pytanie. W aplikacji mam funkcję, która odczytuje dane z socketu i jeżeli coś się pojawi to funkcja zwraca to co się pojawiło. Wykorzystuje to while, więc zatrzymuje dalszy kod. Chciałbym to "wsadzić" w asynchroniczną funkcję, lecz wiem, że php oficjalnie tego nie wspiera. Znalazłem coś takiego: https://github.com/spatie/async. Użyłem, dodałem kod:
$pool ->add($socketmanager->readMessage()) ->then($app->runAction($output)) ->catch($app>log('APP_ERROR | pool_manager('.$exception.').'));
Niestety - nie działa. Dalszy kod po tej funkcji nie jest wykonywany a gdy w sockecie pojawi się wiadomość, to w konsoli pokazuje się błąd PHP Fatal error: Uncaught InvalidArgumentException: The process passed to Pool::add should be callable.
.
Co mogę innego zrobić?
Edit: Może inaczej zadam pytanie. Nie potrafię zrozumieć działania tego, co wysłałem (spatie/async). Dodaję funkcję i jeżeli zostanie coś wykryte to jest to zwracane do 'then'? Nie wiem jak to napisać. Nie wiem też, jak to działa :/