通常,使用 Seaside,您根本不需要自己处理 Continuations。
您只需在组件中使用#call:
和#answer:
。
Continuation
如果除了编写 Seaside 应用程序之外,您还试图做其他事情,请查看WAComponent>>call:
使用示例。
或者试试这个。打开一个成绩单窗口。现在,在工作区中,一次选择所有这些代码并执行它:
continuation := nil.
result := Continuation currentDo: [:cc |
"store the continuation, cc, somewhere for later use"
continuation := cc.
1 ].
Transcript show: result.
您应该看到1
显示在 Transcript 窗口中。现在,在工作区中,执行:
continuation value: 2
进而:
continuation value: 3
您应该看到您传递给的每个值都continuation
显示在 Transcript 中,因为您传递给 #value: 的每个值都会导致继续的上下文被恢复并且新的值被分配给result
.
希望这会有所帮助...