首页 > 解决方案 > break 在 for ... of 循环中终止迭代器

问题描述

为什么break终止 foo 返回的迭代器?我们break 用来终止循环,但为什么它也会杀死迭代器呢?它就是这样,还是我错过了一点?

function* foo(){
      yield 1;
      yield 2;
}

let myIterator = foo()
    
for (let o of myIterator) {
   console.log(o);
   break; // closes iterator, triggers return
}

for(let of of myIterator) {
   console.log(o)
}

非常感谢您!

标签: javascriptiteratorfor-of-loop

解决方案


推荐阅读