[whatwg] postMessage() issues
Jonas Sicking
jonas at sicking.cc
Wed Apr 16 18:41:03 PDT 2008
Peter Kasting wrote:
> On Wed, Apr 16, 2008 at 3:17 PM, Jonas Sicking <jonas at sicking.cc> wrote:
>
> - Processing a reply synchronously is awkward in any case, since
> you need a callback.
>
>
> I'm not sure I follow this argument, I actually come to the opposite
> conclusion.
>
> Say that a page is communicating with multiple iframes using
> postMessage, and expect replies from all of them.
>
>
> I think the argument assumed you were communicating with a single frame
> in the common case, in which case the current API is more awkward than
> one in which the postMessage() call itself returns the response,
> requiring no listener at all.
No one is proposing an api where postMessage is returning an actual
result though, right? And that would definitely require synchronous
dispatch.
> - This is different from event dispatch because replies are
> expected to be common; two way communication channels like
> postMessage make more sense as asynchronous, while event
> dispatch is typically one-way.
>
>
> Why does two-way communication make more sense asynchronous? See
> above for why responses are more complicated with async communication.
>
>
> From one of Aaron Boodman's mails: if you're doing a postMessage()
> response back to a frame when it calls you, then the original frame will
> get called with your response before its original postMessage() actually
> returns. This nesting feels bizarre compared to a more linear "I send a
> message, then I get a response" flow.
Yes, the nesting does feel a bit unusual. But it still seems easier to
me to use since you'll get access to a result right after the call to
postMessage, similar to a normal function call. No need to stow away any
state you are currently carrying and then bring that back once you get a
message back.
/ Jonas
More information about the whatwg
mailing list