I can, and generally I'm able to resolve the race between multiple xhr requests. But only by using synchronous requests. I was hoping to be able to do it using async only (synchronous xhr is evil, as I've seen Mathej remark in an old thread). So being able to schedule a request on a channel, before the call that invokes the pre-call listener is sent, would be the perfect solution.
Perhaps hooking the channel manager would provide a way to schedule a flush before the actual call is made? Should at least keep everything async, so UI responsive. Thanks for reading my rambling, Cheers, Frank Op 18 jan. 2011 om 01:35 heeft Igor Vaynberg <[email protected]> het volgende geschreven: > can you do the flushing yourself by registering a > wicket.ajax.pre-call-handler? > > -igor > > On Mon, Jan 17, 2011 at 2:57 AM, Frank van Lankvelt > <[email protected]> wrote: >> I'm regularly running into problems when integrating client-side ajax code. >> The issue is that the client-side code is doing throttled asynchronous >> calls to wicket ajax behaviors. >> Now, this generally works fine until I want to integrate this with native >> wicket calls (links, buttons). Then, such throttled calls should be flushed >> before the native request is sent to the server. >> >> The only way I can see/make this work is by registering pre-call handlers >> and doing the requests synchronously from the pre-call handler. >> A short explanation; the request cannot be done asynchronously as there is >> no guarantee that it will arrive at the server before the original call >> (that triggered the pre-call handler) arrives. >> This is clumsy and, generally, error-prone. >> >> It also appears to be partly re-doing what Wicket's channels already do, as >> channels take care of request ordering. So I wonder whether I am >> overlooking something. How do you guys handle this? >> >> Thinking out loud: would it be possible to have a 'throttled' channel that >> is flushed whenever a request is scheduled on the default channel ("0|s")? >> That way, third-party JS lib integrations could schedule calls to this >> channel on every key-stroke, having the synchronization handled >> automatically. >> >> cheers, Frank >> >> >> -- >> Hippo Europe • Amsterdam Oosteinde 11 • 1017 WT Amsterdam • +31 (0)20 >> 522 4466 >> USA • San Francisco 755 Baywood Drive, Second Floor • Petaluma, CA. 94954 >> • +1 877 414 4776 (toll free) >> Canada • Montréal 5369 Boulevard St-Laurent #430 • Montréal QC H2T >> 1S5 • +1 (514) 316 8966 >> www.onehippo.com • www.onehippo.org • [email protected] >> ________________________________________________________________ >> This e-mail may be privileged and/or confidential, and the sender does >> not waive any related rights and obligations. Any distribution, use or >> copying of this e-mail or the information it contains by other than an >> intended recipient is unauthorized. If you received this e-mail in >> error, please advise me (by return e-mail or otherwise) immediately. >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
