README
delay-me
Main functionality
TypeScript
import {Delay} from 'delay-me';
const delay = new Delay(() => {
console.log(`I'm a delayed callback. I'm doing some heavy calculations when window size changes`);
});
window.addEventListener('resize', () => {
delay.set(250);
});
// Also, you can reset delay
delay.reset();
However, code above is equivalent to code below:
import {Delay} from 'delay-me';
window.addEventListener('resize', () => {
Delay.start('on-resize', () => {
console.log(`I'm a delayed callback. I'm doing some heavy calculations when window size changes`);
}, 100);
});
// Also, you can prevent delayed callback from execution
Delay.stop('on-resize');
JavaScript
const Delay = require('delay-me').Delay,
delay = new Delay(function(){
console.log(`I'm a delayed callback. I'm doing some heavy calculations when window size changes`);
});
window.addEventListener('resize', function(){
delay.set(250);
});
Additional functionality
You can use setImmediate
for example:
TypeScript
import {setImmediate} from "delay-me";
setImmediate(() => {
console.log('Test');
});
JavaScript
const delay_me = require('delay-me');
delay_me.setImmediate(function(){
console.log('Test');
});
Also, you can use sleep
function that returns Promise<void>
TypeScript
import {sleep} from 'delay-me';
(async () => {
console.log('Start');
await sleep(500);
console.log('After 500 ms');
})();
JavaScript
const delay_me = require('delay-me');
delay_me.sleep(500).then(function(){
console.log('After 500 ms');
});
// async-await way
async function example_fn(){
console.log('Start');
await delay_me.sleep(500);
console.log('After 500 ms');
}