Indeed. As I said, I got into making a plugin out of this.
I changed the semantics, added some features (more to come) and of course,
implemented it.

Here's a very simple demo.
http://test.flesler.com/jquery.async/

Cheers

On Thu, Oct 23, 2008 at 2:42 PM, Jeffrey Kretz <[EMAIL PROTECTED]>wrote:

>
> I tend to agree. But either way, is a wait() function technically feasible?
>
> I tried hacking my way though it last night, and couldn't figure out the
> implementation of code that would pause execution while a setInterval
> function did it's work, and only THEN return the "this" jQuery object.
>
> Does anyone know how to solve the technical hurdle here?
>
> I guess you could call it "asynchronous setInterval"
>
> JK
>
> -----Original Message-----
> From: [email protected] [mailto:[EMAIL PROTECTED] On
> Behalf Of Bohdan Ganicky
> Sent: Thursday, October 23, 2008 4:07 AM
> To: jQuery Development
> Subject: [jquery-dev] Re: Ultra-Chaining with jQuery
>
>
> HI ricardobeat,
>
> I don't think this is a good idea. Most of the time I expect
> everything to happen as fast as possible. Waiting is mostly good for
> animations only and even that's not always true. At least that's how I
> feel it.
>
> --
> Bohdan
>
> On Oct 23, 2:43 am, ricardobeat <[EMAIL PROTECTED]> wrote:
> > That's exactly what I said the day before, you pratically read my
> > mind :]http://ejohn.org/blog/ultra-chaining-with-jquery/#comment-321336
> >
> > What about making all methods 'wait' by default? That's what most
> > people expect anyway, people new to jQuery only find out the
> > animations run "in parallel" when they happen to casually chain
> > something with it. Then you could pass a 'skip' argument if you wanted
> > it to run immediatelly. Wouldn't be backwards compatible, but I wonder
> > how many apps would break because of this, haven't seen anyone
> > chaining animation methods.
> >
> > - ricardo
> >
> > On 20 out, 14:50, "Jeffrey Kretz" <[EMAIL PROTECTED]> wrote:
> >
> > > It seems that the tricky part is that the hide() function (as in all
> > > animation functions) use a setInterval, but return the "this" object
> > > immediately.
> >
> > > Ohhh.  I have an idea.
> >
> > > What if the wait() function set a flag in the object saying this object
> is
> > > waiting for an animation to finish.
> >
> > > Then, any subsequent jQuery.fn methods that are called get added to a
> queue
> > > to be executed after the animation is finished.
> >
> > > Once the animation is done, the wait flag is turned off and jQuery.fn
> > > methods are executed immediately as usual.
> >
> > > So it would look like this:
> >
> > > jQuery("div").hide("slow")
> > >   .wait()
> > >   .addClass("done")
> > >   .find("span")
> > >     .addClass("done")
> > >   .end()
> > >   .show("slow")
> > >   .wait()
> > >   .removeClass("done")
> > >   .find("span")
> > >     .removeClass("done");
> >
> > > JK
> >
> > > -----Original Message-----
> > > From: [email protected] [mailto:[EMAIL PROTECTED]
> On
> >
> > > Behalf Of nikomomo
> > > Sent: Monday, October 20, 2008 1:01 AM
> > > To: jQuery Development
> > > Subject: [jquery-dev] Re: Ultra-Chaining with jQuery
> >
> > > First, you can do that with the callback parameter.
> >
> > > jQuery("div").hide("slow")
> > >   .wait()
> > >   .addClass("done")
> > >   .find("span")
> > >     .addClass("done")
> > >   .end()
> > >   .show("slow", function() {
> > >     $(this).removeClass("done");
> > >   })
> >
> > > But to create a wait() function, I think you have to create a lock/
> > > semaphore (a simple counter), incremented in jQuery.anime (or anything
> > > that create a timer callback?), decremented at the end of the anime,
> > > and tested in the wait() function.
> >
> > > On 20 oct, 00:29, "Jeffrey Kretz" <[EMAIL PROTECTED]> wrote:
> > > > That's an interesting idea -- personally I like this syntax a lot.
> >
> > > > But because javascript isn't a true multithreading environment, I
> wonder
> > > if
> > > > this would be possible at all.
> >
> > > > It's not like the wait() function can detect for the existence of an
> > > > animation, pause execution until the animation is done, and only then
> > > return
> > > > the "this" object.
> >
> > > > Does anyone know if there's a way to create such behavior?
> >
> > > > JK
> >
> > > > -----Original Message-----
> > > > From: [email protected] [mailto:
> [EMAIL PROTECTED]
> On
> >
> > > > Behalf Of xwisdom
> > > > Sent: Sunday, October 19, 2008 12:43 PM
> > > > To: jQuery Development
> > > > Subject: [jquery-dev] RE: Ultra-Chaining with jQuery
> >
> > > > Sorry Guys but I could not find the thread mentioned on John's
> > > > website:http://ejohn.org/blog/ultra-chaining-with-jquery/
> >
> > > > Anyway, the chaining system looks ok but rather than using a chain()
> > > > metod how about using a wait() method that would block or process
> > > > succeeding calls after the preceding call has been completed:
> >
> > > > jQuery("div").hide("slow")
> > > >   .wait()
> > > >   .addClass("done")
> > > >   .find("span")
> > > >     .addClass("done")
> > > >   .end()
> > > >   .show("slow")
> > > >   .wait()
> > > >   .removeClass("done")
> >
> > > > Just my 2cents
>
>
>
>
> >
>


-- 
Ariel Flesler
http://flesler.blogspot.com

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"jQuery Development" 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/jquery-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to