<!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>
// 使用promise对象 对teach函数的重新封装
function pTeach(f) { //新的上课函数
let p = new Promise((resolve, reject) => {
// 模拟上课
setTimeout(() => {
console.log('上课结束')
f() // 下课要做的事情
resolve()
}, 1000)
})
return p
}
async function fn() {
console.log('第一节课')
await pTeach(function () { console.log('上厕所') })
console.log('第二节课')
await pTeach(function () { console.log('广播体操') })
console.log('第三节课')
await pTeach(function () { console.log('找女同学') })
console.log('第四节课')
await pTeach(function () { console.log('放学回家') })
}
fn()
</script>
</body>
</html>