Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fraction/set-timer
A lightweight abstraction for the JavaScript Timer API.
https://github.com/fraction/set-timer
Last synced: about 1 month ago
JSON representation
A lightweight abstraction for the JavaScript Timer API.
- Host: GitHub
- URL: https://github.com/fraction/set-timer
- Owner: fraction
- License: other
- Created: 2014-12-12T00:13:59.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2015-11-07T03:15:26.000Z (about 9 years ago)
- Last Synced: 2024-11-18T10:45:18.567Z (about 2 months ago)
- Language: JavaScript
- Homepage:
- Size: 262 KB
- Stars: 36
- Watchers: 9
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
setTimer
========A lightweight abstraction for the JavaScript Timer API.
## Installation
Install setTimer as an [NPM package](https://www.npmjs.org/package/set-timer).
```sh
npm install set-timer
```## Usage
The `setTimer` function takes a callback function and an optional options object as arguments.
```javascript
var setTimer = require('set-timer');setTimer(function() {
console.log("I'm called immediately!");
});
```The options are:
* **Timeout:** Number of milliseconds to wait before the first call (default: `0`).
* **Limit:** Number of times to call callback (default: `1`). Use `Infinity` to call indefinitely.
* **Interval:** Number of milliseconds to wait between calls (default: `0`). Ignored unless `limit > 1`.
* **onClear:** Function to call after timer has been cleared (default: `Function.prototype`).```javascript
var setTimer = require('set-timer');var timer = setTimer(function () {
console.log("I've been called " + this.calls + " times!");
}, {
timeout: 5000, // Wait 5 seconds before first call.
limit: 10, // Call callback 10 times.
interval: 1000, // Wait 1 second between calls.
onClear: function () { // Call after timer is cleared.
console.log("Cleared!");
}
});
```Timers are automatically cleared after their call count reaches `options.limit`, but you can clear the timer manually `this.clear()` from inside of scope the callback or `timer.clear()` in the scope of the timer.
## Support
Please [open an issue](https://github.com/fraction/set-timer/issues/new) for questions and concerns.
## Contributing
Fork the project, commit your changes, and [open a pull request](https://github.com/fraction/set-timer/compare/).