Async: question : vérifiez une async.queue pour voir si une tâche correspondante a déjà été insérée ?

Créé le 27 juil. 2017  ·  3Commentaires  ·  Source: caolan/async

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 ?

enhancement queue

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.

Tous les 3 commentaires

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 !

Cette page vous a été utile?
0 / 5 - 0 notes