Async: вопрос: проверьте async.queue, чтобы увидеть, была ли уже вставлена ​​соответствующая задача?

Созданный на 27 июл. 2017  ·  3Комментарии  ·  Источник: caolan/async

Можно ли каким-либо образом просмотреть задачи текущей очереди, чтобы определить, может ли задача, которую вы собираетесь поставить, уже соответствовать задаче, находящейся в очереди в данный момент?

enhancement queue

Самый полезный комментарий

Хотя в качестве усовершенствования очереди мы могли бы предоставить свойство q[Symbol.iterator] для предоставления независимого от реализации способа повторения текущих элементов очереди.

Все 3 Комментарий

Официально санкционированного способа повторения очереди не существует. Существует свойство q._tasks , которое предоставляет базовый связанный список для очереди. Вы можете либо повторить связанный список, либо вызвать q._tasks.toArray().find(...) , чтобы узнать, существует ли уже ваша задача.

Это деталь реализации, поэтому она не документирована. Это может сломаться в будущем, если мы изменим внутреннюю работу очереди.

Хотя в качестве усовершенствования очереди мы могли бы предоставить свойство q[Symbol.iterator] для предоставления независимого от реализации способа повторения текущих элементов очереди.

Я также хотел бы эту функцию, многие другие очереди имеют эту функцию.
q.contains(task) был бы очень полезен!

Была ли эта страница полезной?
0 / 5 - 0 рейтинги