JSPM

prefer-delay

1.0.3
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • Downloads 4
    • Score
      100M100P100Q42513F
    • 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

    函数多次执行的场景下,设置时间间隔限制 Set the time interval limit when the function is executed multiple times

    const { promiseDelay } = require('prefer-delay');
    
    console.log('start\t', Date.now());
    const print = (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);
    setTimeout(() => {
      delayFn(7); // expect time: 6500
    }, 6500);

    print:

    start    1676624969053
    1        1676624969056
    2        1676624970055
    3        1676624971054
    4        1676624972055
    5        1676624973055
    6        1676624974055
    7        1676624975558

    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