Async: 質問:async.queueをチェックして、一致するタスクがすでに挿入されているかどうかを確認しますか?

作成日 2017年07月27日  ·  3コメント  ·  ソース: caolan/async

とにかく、現在のキューのタスクを調べて、入れようとしているタスクが現在キューにあるタスクとすでに一致しているかどうかを判断する方法はありますか?

enhancement queue

最も参考になるコメント

ただし、キューの拡張機能として、実装に依存しない方法でキューの現在のアイテムを反復処理するためのq[Symbol.iterator]プロパティを公開することもできます。

全てのコメント3件

キューを反復するための公式に認可された方法はありません。 キューの基になるリンクリストを公開するq._tasksプロパティがあります。 リンクリストを繰り返すか、 q._tasks.toArray().find(...)を呼び出して、タスクがすでに存在するかどうかを確認できます。

これは実装の詳細であるため、文書化されていません。 キューの内部動作を変更すると、将来的に破損する可能性があります。

ただし、キューの拡張機能として、実装に依存しない方法でキューの現在のアイテムを反復処理するためのq[Symbol.iterator]プロパティを公開することもできます。

この機能も必要です。他の多くのキューにもこの機能があります。
q.contains(task)は非常に便利です!

このページは役に立ちましたか?
0 / 5 - 0 評価