S, Philippe Marschall piše:
On 07/01/2011 01:38 PM, Janko Mivšek wrote:
Isn't the whole point of Seaside and continuations to enable worklow like in below example from the HPI Seaside tutorial? This code is blocking until the call: returns, isn't that so?
From HPI tutorial [1], chapter 5-Forms, figure 5-2 :
(self call: self taskEditor) ifTrue: [aTask copyFrom: self taskEditor task]
Text bellow: "Even better, Seaside remembers the position in your code and runs it from there again, after the called component finished. This means, #call: blocks your current component, that is your callback evaluation, waits for the called component to be finished, and afterwards goes on with your callback. "
Yes, but continuations don't block a Process. All they do is allow you to write code that is more readable.
Yes, technically it doesn't block that process because it must return something to the browser, but method execution actually blocks on that point.
No. The method terminates.
It terminates from internal framework point of view. But from application programmer point of view it blocks. If I put Transcript messages in your example: first := self askForFirstObject. Transcript show: 'first answered' second := self askForSecondObject. Transcript show: 'second answered' How will messages show up, immediately or waiting for answers first? Best regards Janko -- Janko Mivšek Aida/Web Smalltalk Web Application Server http://www.aidaweb.si