各位观众老爷们,早上好/下午好/晚上好!我是你们的老朋友,今天咱们来聊聊 JavaScript 里一个挺有意思,但可能不太常用的东西:Generator.prototype.return() 和 Generator.prototype.throw()。 这俩哥们儿,主要是用来控制 Generator 函数的“生命周期”的,说白了,就是让 Generator 提前结束或者“抛个异常”结束。 一、啥是 Generator?先简单回顾一下 在深入了解 return() 和 throw() 之前,咱们先快速回顾一下 Generator 函数。 如果你已经很熟悉了,可以跳过这部分。 Generator 函数是一种特殊的函数,它可以用 function* 声明。 它和普通函数最大的区别在于: 可以暂停执行: 使用 yield 关键字,可以让 Generator 函数暂停执行,并返回一个值。 可以恢复执行: 通过调用 Generator 对象的 next() 方法,可以恢复 Generator 函数的执行,并传递一个值给它。 迭代器: Generator 函数返回一个迭代器对象,可以用来遍历 Gen …
继续阅读“JS `Generator.prototype.return()` / `throw()`:控制 `Generator` 生命周期”