<!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>Document</title>
</head>
<body>
<script>
//第一种方案(阻塞程序运行)
function sleep(delay) {
var start = (new Date()).getTime();
while ((new Date()).getTime() - start < delay) {
continue;
}
}
console.log('start')
sleep(3000)
console.log('end')
//第二种方案(不阻塞)
let timeout = (ms) => {
return new Promise(resolve => {
setTimeout(() => resolve(), ms)
})
}
let test = async () => {
console.log('start2')
await timeout(3000)
console.log('end2')
}
test()
//第三种方案(不阻塞)
console.log('start3')
new Promise(resolve => {
setTimeout(() => resolve(), 3000)
}).then(res => {
console.log('end3')
})
</script>
</body>
</html>