delay-me

TypeScript

Usage no npm install needed!

<script type="module">
  import delayMe from 'https://cdn.skypack.dev/delay-me';
</script>

README

delay-me

npmnpmnpmnode

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');
}