Async: Frage: Überprüfen Sie eine async.queue, um zu sehen, ob eine passende Aufgabe bereits eingefügt wurde?

Erstellt am 27. Juli 2017  ·  3Kommentare  ·  Quelle: caolan/async

Kann man sich die Aufgaben einer aktuellen Warteschlange ansehen, um festzustellen, ob die Aufgabe, die Sie einfügen möchten, möglicherweise bereits mit einer Aufgabe übereinstimmt, die sich derzeit in der Warteschlange befindet?

enhancement queue

Hilfreichster Kommentar

Obwohl wir als Erweiterung der Warteschlange eine q[Symbol.iterator] -Eigenschaft verfügbar machen könnten, um eine implementierungsunabhängige Methode zum Iterieren der aktuellen Elemente der Warteschlange verfügbar zu machen.

Alle 3 Kommentare

Es gibt keine offiziell sanktionierte Möglichkeit, die Warteschlange zu durchlaufen. Es gibt eine q._tasks -Eigenschaft, die die zugrunde liegende verknüpfte Liste für die Warteschlange verfügbar macht. Sie können entweder die verknüpfte Liste durchlaufen oder q._tasks.toArray().find(...) aufrufen, um zu sehen, ob Ihre Aufgabe bereits existiert.

Dies ist ein Implementierungsdetail, daher ist es nicht dokumentiert. Es könnte in Zukunft kaputt gehen, wenn wir die interne Funktionsweise der Warteschlange ändern.

Obwohl wir als Erweiterung der Warteschlange eine q[Symbol.iterator] -Eigenschaft verfügbar machen könnten, um eine implementierungsunabhängige Methode zum Iterieren der aktuellen Elemente der Warteschlange verfügbar zu machen.

Ich würde mir diese Funktion auch wünschen, viele andere Warteschlangen haben diese Funktion.
q.contains(task) wäre sehr nützlich!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen