Directory

← Back

nebula-queue

Serialize activities between web components using a FIFO queue.

Author

Contributors

Rating

[ This description is mirrored from README.md at github.com/arsnebula/nebula-queue on 2019-05-10 ]

Published on webcomponents.org Polymer Version Sauce Labs Build Status Gitter Chat Become a Patreon

<nebula-queue>

Serialize activity between web components using a FIFO queue.

Installation

$ bower install -S arsnebula/nebula-queue

Getting Started

Import the element.

<link rel="import" href="/bower_components/nebula-queue/nebula-queue.html"> 

Add and configure a <nebula-queue> element to provide access to queue events and methods. Each queue is identified by a unique name. You can have as many queues as you want by adding multiple instances of the element to a template. The length property wil be updated automatically as requests are added and removed from the queue. If the length is zero, the queue is empty. The changed event can be used to listen for push and pop changes to the queue. The event does not bubble.

<nebula-queue
  id="alerts"
  queue-name="alerts"
  length="{{alertsLength}}"
  on-push="_onQueuePush"
  on-pop="_onQueuePop">
</nebula-queue>

Add a callback to the queue using the queue method. Once the request reaches the top of the queue, the callback will be invoked with a single done argument. The done argument is a function that must be called to remove the request from the queue.

this.$.alerts.queue(function(done) {
  try {
    alert('My alert is ready!')
  }
  finally {
    done()
  }
})

WARNING: Failing to call the done method will block the queue from processing any further requests. Ensure you add error handling to your callback to ensure done is called property.

For more information, see the API documentation.

Contributing

We welcome and appreciate feedback from the community. Here are a few ways that you can show your appreciation for this package:

  • Give us a Star on GitHub from either webcomponents.org or directly on GitHub.

  • Submit a feature request, or a defect report on the Issues List.

  • Become a Patreon. It takes a lot of time and effort to develop, document, test and support the elements in our Nebula Essentials collection. Your financial contribution will help ensure that our entire collection continues to grow and improve.

If you are a developer, and are interested in making a code contribution, consider opening an issue first to describe the change, and discuss with the core repository maintainers. Once you are ready, prepare a pull request:

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

Change Log

See CHANGELOG

License

See LICENSE

Compatibility

(Loading compatibility data...)

Was this helpful? Need more help?
Leave a comment or a question below. You can also join the chat on Discord or ask questions on StackOverflow.

Version

Dependencies

  • polymer#Polymer/polymer#^2.0.0
  • nebula-element-mixin#arsnebula/nebula-element-mixin#^2.0.0
Released
2017-05-23
Maturity
IMPORTED
License
ISC License

Compatibility

Framework
Polymer 2.0+
Polymer 1.0+ in 2.0.0
Browser
Browser Independent
Online