//generator是可以用来控制迭代器的函数,可以暂停,也可以任何时候恢复
function
* loop () { for(let i = 0; i < 5; i++) { yield console.log(i) } } const l = loop() l.next() l.next() function * gen () { let val val = (yield [1,2,3]) + 7 console.log(val) } const l = gen() console.log(l.next(10)) l.return(100) l.next(20) //捕获错误 function * gen () { while (true) { try { yield 1 }catch (e) { console.log(e.message) } } } const g = gen() console.log(g.next()) console.log(g.next()) console.log(g.next()) g.throw(new Error('ss')) console.log(g.next())