¿Hay alguna forma de mirar las tareas de una cola actual para determinar si la tarea que está a punto de poner ya podría coincidir con una tarea actualmente en la cola?
No existe una forma autorizada oficialmente de iterar la cola. Hay una propiedad q._tasks
que expone la lista vinculada subyacente para la cola. Puede iterar la lista vinculada o llamar a q._tasks.toArray().find(...)
para ver si su tarea ya existe.
Este es un detalle de implementación, por lo que no está documentado. Podría romperse en el futuro si cambiamos el funcionamiento interno de la cola.
Aunque, como una mejora de la cola, podríamos exponer una propiedad q[Symbol.iterator]
para exponer una forma independiente de la implementación para iterar los elementos actuales de la cola.
También me gustaría esta función, muchas otras colas tienen esta función.
¡q.contains(task) sería muy útil!
Comentario más útil
Aunque, como una mejora de la cola, podríamos exponer una propiedad
q[Symbol.iterator]
para exponer una forma independiente de la implementación para iterar los elementos actuales de la cola.