Generator
能让函数有暂停功能
使用
- 在函function后面加一个*
- 在需要暂停的地方加一个yield
- next()恢复执行权
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<button onclick="btnClick()">点我执行</button>
<script>
function * getData () {
window.console.log(1)
yield 1
window.console.log(2)
yield 2
}
let gen = getData()
function btnClick () {
let res = gen.next()
window.console.log(res)
}
</script>
</body>
</html>
应用场景:
- 抽奖功能
- 游戏方面
- AI方面