<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>开始、暂停、停止</title>
</head>
<body>
<button id="start">Start</button>
<button id="pause">Pause</button>
<button id="stop">Stop</button>
<script>
let time = 0
function promise(ms) {
return new Promise(function (resolve, reject) {
setTimeout(function () {
time++;
if (time > 10) {
time = 0;
reject("time out:" + time)
} else {
resolve(time)
}
}, ms || 2000)
})
}
let arr = [];
for (let i = 0; i < 11; i++) {
arr.push(promise);
}
let flag = true;
function testPause() {
return arr[time](2000)
.then(function () {
if (flag) {
} else {
testPause()
}
})
.catch(function (reason) {
console.error(reason)
})
}
document.getElementById("pause").onclick = function () {
flag = true;
}
document.getElementById('start').onclick = function () {
flag && testPause();
flag = false;
}
document.getElementById("stop").onclick = function () {
flag = true;
time = 0;
}
</script>
</body>
</html>