2013-03-13 18 views
12

Greeting wszystkimnodejs na asynchroniczne jednoczesnym

chcę wywołać funkcję wielokrotnie, ale chciał Każde wywołanie uruchomić tylko wtedy, gdy poprzednia rozmowa zostanie zakończona. Czy Async jest dopasowany do tego, czego potrzebuję? A może połączenia odbywają się równolegle?

Dzięki!

Gary

Odpowiedz

26

Podczas gdy zrobi co trzeba, to uruchamia każdą funkcję w serii. Przed każdym uruchomieniem wykona funkcję "testową", aby upewnić się, że powinna działać ponownie.

Ich przykład:

var count = 0; 

async.whilst(
    function() { return count < 5; }, 
    function (callback) { 
     count++; 
     setTimeout(callback, 1000); 
    }, 
    function (err) { 
     // 5 seconds have passed 
    } 
); 
+0

Man oszczędzasz mi dużo czasu! Thx dużo. –

1

As Chad noted, asynchroniczny na whilst będzie wykonać zadanie.

Możesz rozważyć Async's until (odwrotność while). Zarówno zrobić to samo zadanie jednak kluczowa różnica jest:

  • async.whilst będzie wywołać funkcję za każdym razem test przechodzi
  • async.until będzie wywołać funkcję za każdym razem test zawiedzie