Generator 函数
控制函数的执行过程,手工暂停和恢复代码执行
function* test() {
    console.log('start')
    yield
    console.log('end') 
}
let Test = test()
Test.next() // start
Test.next() // end
 1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
内层不是无限循环 每次调用 通过next() 方法调用
function* getNumber(){
    while(true){
        yield Math.random()*100
    }
}
let myMoney = 15
let currentMoney =100
let GetNumber = getNumber()
while (currentMoney>myMoney){
    currentMoney = GetNumber.next().value
    console.log(currentMoney)
}
console.log(`当前数值是${currentMoney}`)
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16