nebula-queue
Serialize activities between web components using a FIFO queue.
[ This description is mirrored from README.md at github.com/arsnebula/nebula-queue on 2019-05-10 ]
<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:
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
Change Log
See CHANGELOG
License
See LICENSE
Links
Compatibility
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-rc.1 <3.0
- nebula-element-mixin#arsnebula/nebula-element-mixin#^2.0.0
- Released
- 2017-04-20
- Maturity
- IMPORTED
- License
- ISC License
Compatibility
- Framework
- Polymer 1.0+
- Polymer 2.0+
- Browser
- Browser Independent
Vaadin Add-on Directory
Find open-source widgets, add-ons, themes, and integrations for your Vaadin application.