nice-timer
Version:
Timer
150 lines (142 loc) • 3.67 kB
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>