I believe I solved the problem.  I had a queue of work orders. One of
these work orders queued up another work order, so it was a nested
AJAX request - BAD IDEA!

On Sep 24, 12:56 pm, JoJo <[email protected]> wrote:
> I don't need A to finish before B. I need A's callbacks to not be cut
> off by B's instantiation.
>
> On Sep 24, 12:44 pm, Phil Petree <[email protected]> wrote:
>
> > If you want a() to finish before b() and b() to finish before c() then you
> > will have to daisy chain in the onComplete code.
>
> > On Fri, Sep 24, 2010 at 3:21 PM, JoJo <[email protected]> wrote:
> > > I have several lines of code that I want to run atomically (no context
> > > switches to other code). Please look at the following barebones
> > > example that illustrates the issue:
>
> > > //=========================
>
> > > function doAjax() {
> > >  console.info('making request');
> > >  new Ajax.Request(
> > >  url, {
> > >   onSuccess: function() {
> > >     console.info('success');
> > >   },
> > >   onFailure: function() {
> > >    console.info('failure');
> > >   },
> > >   onComplete: function() {
> > >    console.info('complete');
> > >   }
> > >  }
> > >  );
> > > }
>
> > > doAjax();
> > > doAjax();
>
> > > //=========================
>
> > > If the processor is "faster" than the network, I expect the output to
> > > be :
>
> > > making request
> > > making request
> > > success
> > > complete
> > > success
> > > complete
>
> > > However, under certain conditions, success+complete is sometimes not
> > > atomic. Here's some output that I have seen:
>
> > > (A) making request
> > > (A) success
> > > (B) making request
> > > (A) complete
> > > (B) success
> > > (B) complete
>
> > > This is against my expectations and breaks my code logic - the website
> > > fails to function when complete does not IMMEDIATELY follow success.
> > > Can someone shed some light on why this is happening? I thought AJAX
> > > is only asynchronous while waiting for the server and should become
> > > synchronous as it's executing the callback code...
>
> > > --
> > > You received this message because you are subscribed to the Google Groups
> > > "Prototype & script.aculo.us" group.
> > > To post to this group, send email to
> > > [email protected].
> > > To unsubscribe from this group, send email to
> > > [email protected]<prototype-scriptaculous%[email protected]>
> > > .
> > > For more options, visit this group at
> > >http://groups.google.com/group/prototype-scriptaculous?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Prototype & script.aculo.us" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/prototype-scriptaculous?hl=en.

Reply via email to