UNPKG

nice-timer

Version:

Timer

150 lines (142 loc) 3.67 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>nice-timer</title> </head> <body> <div id="app">nihao</div> </body> <!-- 方案一 --> <script type="module"> import timer, { Timer, TimerInstance, wait } from '../index.js'; const app = document.getElementById('app'); // 循环 const handle = timer({ time: 1000, loop: true, cb() { app.innerText = Date(); } }); // 主动关闭循环 // handle(); // 循环的简写方式 // const handle = timer(() => { // app.innerText = Date(); // }, 1000, true); // 不循环 // const handle2 = timer({ // time: 2000, // loop: false, // cb() { // app.innerText = Date(); // } // }); // 不循环的简写方式 // const handle2 = timer(() => { // app.innerText = Date(); // }, 2000); // 循环2次结束 // const handle3 = timer({ // time: 1000, // loop: 2, // cb() { // app.innerText = Date(); // } // }); // 根据check的返回状态执行定时任务 // let a = 0; // const handle4 = timer({ // time: 1000, // loop: true, // check() { // a++; // // 仅在a===5或者a===10的时候运行定时任务 // if (a === 5 || a === 10) { // return true; // } // return false; // }, // cb() { // app.innerText = Date(); // } // }); // 更新定时任务 // const id = Symbol(); // const handle = timer({ // time: 1000, // cb() { // // 每隔1秒打印日志1 // console.log(1); // }, // timerKey: id // }); // 过5秒后更新标识符为id的这个定时任务,让他每隔3秒打印一下日志2 // timer(() => { // timer({ // time: 3000, // cb() { // console.log(2); // }, // timerKey: id // }); // }, 5000); // // 自动关闭 // handle(); // 直接使用Timer类创建新的实例 // const TimerInstance2 = new Timer(); // const handle5 = TimerInstance2.create({ // time: 1000, // loop: true, // cb() { // app.innerText = Date(); // } // }); // // 3秒后暂停TimerInstance2实例内所有定时任务 // setTimeout(() => { // TimerInstance2.stop(); // }, 3000); // // 6秒后重新开启TimerInstance2实例内所有定时任务 // setTimeout(() => { // TimerInstance2.run(); // }, 6000); // 等待 // async function init(params) { // console.log('1', 1); // await wait(3); // console.log('2', 2); // } // init(); </script> <!-- 方案二 --> <!-- <script src="../nice-timer.min.js"></script> <script> const app = document.getElementById('app'); const { timer, Timer, TimerInstance } = niceTimer; const handle = timer({ time: 1000, loop: true, cb() { app.innerText = Date(); } }); // 主动关闭handle定时任务 // handle() // 创建新的实例 const TimerInstance2 = new Timer() const a2 = TimerInstance2.create({ time: 1000, loop: true, cb() { app.innerText = Date(); } }) // 停止TimerInstance2实例里面的所有定时任务 // TimerInstance2.stop() // 运行TimerInstance2实例里面的所有定时任务 // TimerInstance2.run() </script> --> </html>