2010-06-16 7 views

답변

6

이것이 가능한 해결책인지 확실하지 않지만 코드를 2 가지 기능으로 나누면 원하는 결과를 얻을 수 있습니다.

를 기본적으로이 원래의 기능입니다 :

function newFunc() { 
    codeBeforeThirdPartyFunc(); 
    ThirdPartyFunc(newCallBackFunc); 
} 
function newCallBackFunc() { 
    oldCallBackFunc(); 
    codeAfterCallBackFunc(); 
} 

이 대기를 제거합니다

function origFunc() { 

    codeBeforeThirdPartyFunc(); 
    ThirdPartyFunc(oldCallBackFunc); 
    Wait(); 
    codeAfterCallBackFunc(); 
} 

당신은 같은과 코드의 흐름을 수정할 수 있습니다 이것은 당신이하고자하는 것입니다 가정 고리. 그리고 내가 아는 한, 바쁜 대기는 IE에서 작동하지 않습니다. (하나님이 알고 계시므로)

0

Sharad의 솔루션이 모든 경우에 작동하는지 알고 싶습니다 (예 : 함수 호출이 매개 변수 대신 변수로 데이터를 전달해야하는 경우가 훨씬 많습니다. 전역 변수에 동일한 문제가 있습니다. 자바 스크립트는 "대기"능력이 없습니다.

jQuery와 비슷한 문제가 있었지만 자바 스크립트 기능을 실행할 때 제어 기능을 제공하는 MacGyver 유형 솔루션이있었습니다. 나는 방금 여기에 내 자신의 질문에 대한 답변으로 게시했습니다. (확인되지 ​​않은 답변 - 내 사용자 이름 Emile을 찾으십시오) : How to get a variable returned across multiple functions - Javascript/jQuery

관련 문제