在JavaScript中是否可以序列化一个生成器?如果不可以,有没有其他主流语言支持这种功能?
Javascript中没有(2020年4月)。
你所描述的功能有时被称为'带快照的coroutine'或'可序列化的一级延续'。
Scala在这方面有过一些尝试,但似乎大多被放弃了.见 http:/storm-enroute.comcoroutinesdocs0.6snapshots。.
Java的 工程织机 似乎也包括序列化连续的能力。
此外,在维基百科中,有一个 列表 的语言,支持一流的连续性。它没有说明哪些语言也可以创建快照序列化,但这似乎是一个好的开始。
最后一点,在很多情况下,你可以简单地定义你想要的逻辑,而不需要任何特殊的语言特性要求(如状态图、工作流图、规则引擎等,)。
(这就是你所描述的功能在编程语言中经常缺失的原因。它的实现很复杂,一般很少有没有合理替代品的用例)