JSPM

prefer-delay

1.0.1
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • Downloads 2
    • Score
      100M100P100Q42553F
    • License ISC

    prefer-delay

    Package Exports

    • prefer-delay
    • prefer-delay/dist/index.js

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (prefer-delay) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    prefer-delay

    prefer delay

    install

    npm i prefer-delay

    use

    promiseDelay

    const { promiseDelay } = require('prefer-delay');
    
    console.log('start\t', Date.now());
    const print = async (index: number) => console.log(index, '\t', Date.now());
    const delayFn = promiseDelay(print, 1000);
    delayFn(1); // expect time: 0
    delayFn(2); // expect time: 1000
    delayFn(3); // expect time: 2000
    delayFn(4); // expect time: 3000
    delayFn(5); // expect time: 4000
    setTimeout(() => {
      delayFn(6); // expect time: 5000
    }, 4500);

    print:

    start    1676624214660
    1        1676624215663
    2        1676624216661
    3        1676624217662
    4        1676624218662
    5        1676624219662
    6        1676624220662

    delay

    const { delay } = require('prefer-delay');
    
    (async () => {
      console.log('start\t', Date.now()); // analytic time: 0
      await delay(1000);
      console.log('end\t', Date.now()); // analytic time: 1000
    })();

    print:

    start    1676620421976
    end      1676620422979