我想在 actionscript 中使用协程来实现状态机。
我希望能够做类似下面的事情
function stateMachine():void
{
sendBytes(0xFFFF);
var receiveBytes:ByteArray = yield()
sendBytes(receiveBytes);
}
stateMachine.send( Socket.read() )
喜欢这个blog entry
请您参考如下方法:
据我所知,Actionscript 没有协程、延续或任何可以为您提供相关行为的东西(调用函数而不压入堆栈帧)。您可以使用静态变量和 switch 伪造它,但这违背了将协程用于状态机的目的。此外,如果没有尾调用(据我所知仍然只有一个 proposal for ECMASCRIPT ),伪协程不会像真正的协程那样使用常量堆栈空间。
关于您的示例代码,协程通常需要循环才能发挥作用。
