function delayCommand($callback, $delayTime){
sleep($delayTime);
$callback();}
Le problème avec le sommeil, mais c'est qu'il affecte la page, au niveau mondial, même quand il est assis à l'intérieur d'une fonction. Cela signifie que vous ne pouvez pas utiliser cette fonction dans le milieu de la page. Juste pour démontrer mon point de vue, si vous réglez la minuterie pour 5 secondes et l'utilisation de la fonction dans le milieu de la page, la première moitié de la page se charger, puis de la seconde moitié ne serait pas de charge pendant 5 secondes. Que tirer en arrière rend le sommeil sembler assez inutiles en fonction de moi. Sauf si vous faites une tâche cron pour une lente API...
function delayCommay($function, $nano){
usleep($nano);
$function();}
Fera l'affaire cependant, il est synchrone. Donc, si vous faites un appel à delayCommand il va retarder votre script en entier jusqu'à ce qu'il a exécuté la commande.
Voici ce que j'ai pour retarder une fonction dans la SEP, le Sommeil et Usleep suspendre l'exécution du script en entier, cela semble fonctionner assez bien
Sauf si vous faites une tâche cron pour une lente API...
OriginalL'auteur karim79
Cela devrait fonctionner, envisager de passer hors
sleep()
àusleep()
.(Code non testé)
OriginalL'auteur chelmertz
Fera l'affaire cependant, il est synchrone. Donc, si vous faites un appel à
delayCommand
il va retarder votre script en entier jusqu'à ce qu'il a exécuté la commande.OriginalL'auteur Paulpro
Si vous voulez qu'il fait de manière asynchrone, voir ma réponse ici: La planification des scripts php
Pour votre information, voici une liste de fonctions connexes:
sleep()
/usleep()
- Sommeil pour un montant de (micro)secondes.time_sleep_until()
- Sommeil jusqu'à ce qu'un timestamp.time_nanosleep()
- Sommeil pour un montant de secondes et nanosecondes.OriginalL'auteur Christian
Voici ce que j'ai pour retarder une fonction dans la SEP, le Sommeil et Usleep suspendre l'exécution du script en entier, cela semble fonctionner assez bien
OriginalL'auteur NinjaDestroyer