2013-07-25 7 views
0

나는 이것이 간단해야한다고 생각하지만, 나는 그것을 할 수있는 방법을 찾지 못한다.

나는 여러 제품을 통해 실행되는 각 루프가 있으며 각 루프는 각각에 대해 기능을 실행합니다. 이 기능은 무엇보다도 제품의 정보로 테이블을 업데이트합니다. 그러나 'runThisFunction()'이 완료 될 때까지 기다렸다가 다음 제품으로 이동하고 함수를 다시 실행해야합니다.

예 :

$.each(data.products, function(id, v) { 
    runThisFunction(v); 
}); 

은 내부 runThisFunction(), 그것은하려면 로컬 데이터베이스에서 제품에 대한 정보를 가져옵니다,하지만 너무 빨리 실행되기 때문에 할 필요가 무엇을 완료되기 전에, 다음 제품에 대한 이동합니다. 지연을 추가 할 수는 있지만 의도적으로 느리게하고 싶지는 않습니다. 나는이 간단해야 알

...

+0

runThisFunction의 코드는 무엇입니까? 동기화 할 수있는 방법이 있습니다. – Virus721

+0

비동기 프로세스가 없으므로 함수를 대기시킬 필요가 없습니다. – gustavohenke

+0

관련 코드가있는 jsfiddle 샘플을 제공 할 수 있습니까? 'data.products [id]'가 예상대로입니까? –

답변

0

, 상기 다운 runThisFunction()에서, 그 제품에 대한 로컬 저장 데이터를 액세스 하였다.

많은 디버깅 후 SQL 문 변수가 정의 된 위치를 db.transaction 함수 외부에서 내부로 이동하여이 문제를 해결했습니다.

이것이 왜 더 많은 코드를 유발했는지는 확실치 않지만 동기식으로 발생시키지 않는 $ .each 내의 기능 문제가 수정되었습니다.

0

JQuery와의 queue() 기능에서보세요.

http://api.jquery.com/queue/는 다른 유용한 자료 : 바와 같이 What are queues in jQuery?

+0

질문은 애니메이션과 관련이 없습니다. – Archer

+0

아니요,하지만'queue()'의 작동을 설명하며이 함수는 질문에 대답하는 데 유용 할 수 있습니다. – Pieter

+0

나는 그것을 upvoted했습니다. 나는 그것이 유용 할 수도 있지만 그것이 아마도 의견이어야한다고 동의한다. – gustavohenke