Existe-t-il un moyen de consulter les tâches d'une file d'attente actuelle pour déterminer si la tâche que vous êtes sur le point de mettre en place peut déjà correspondre à une tâche actuellement dans la file d'attente ?
Il n'existe aucun moyen officiellement reconnu d'itérer la file d'attente. Il existe une propriété q._tasks
qui expose la liste chaînée sous-jacente pour la file d'attente. Vous pouvez soit parcourir la liste chaînée, soit appeler q._tasks.toArray().find(...)
pour voir si votre tâche existe déjà.
Il s'agit d'un détail d'implémentation, il n'est donc pas documenté. Il pourrait se casser à l'avenir si nous modifions le fonctionnement interne de la file d'attente.
Cependant, en tant qu'amélioration de la file d'attente, nous pourrions exposer une propriété q[Symbol.iterator]
pour exposer une manière indépendante de l'implémentation d'itérer les éléments actuels de la file d'attente.
J'aimerais aussi cette fonctionnalité, de nombreuses autres files d'attente ont cette fonctionnalité.
q.contains(task) serait très utile !
Commentaire le plus utile
Cependant, en tant qu'amélioration de la file d'attente, nous pourrions exposer une propriété
q[Symbol.iterator]
pour exposer une manière indépendante de l'implémentation d'itérer les éléments actuels de la file d'attente.