とにかく、現在のキューのタスクを調べて、入れようとしているタスクが現在キューにあるタスクとすでに一致しているかどうかを判断する方法はありますか?
キューを反復するための公式に認可された方法はありません。 キューの基になるリンクリストを公開するq._tasks
プロパティがあります。 リンクリストを繰り返すか、 q._tasks.toArray().find(...)
を呼び出して、タスクがすでに存在するかどうかを確認できます。
これは実装の詳細であるため、文書化されていません。 キューの内部動作を変更すると、将来的に破損する可能性があります。
ただし、キューの拡張機能として、実装に依存しない方法でキューの現在のアイテムを反復処理するためのq[Symbol.iterator]
プロパティを公開することもできます。
この機能も必要です。他の多くのキューにもこの機能があります。
q.contains(task)は非常に便利です!
最も参考になるコメント
ただし、キューの拡張機能として、実装に依存しない方法でキューの現在のアイテムを反復処理するための
q[Symbol.iterator]
プロパティを公開することもできます。