Sauf si ce que vous faites est trivial, essayez de ne pas utiliser les fonctions sync*. Elles sont moins efficaces que les versions asynchrones.
Les fonctions callback doivent retourner le plus rapidement possible, étant donné que les callbacks sont tous appelés par le même thread.. Si vous avez des opérations gourmandes en temps, vous devriez créer un nouveau thread et utiliser des mécanismes de synchronisation comme des sémaphores ou des mutexes.