타사 라이브러리에서 제공하는 함수를 사용하고 있습니다. 이 함수는 매개 변수로 콜백 함수를 사용하지만 계속하기 전에이 콜백이 호출되기를 기다리고 싶습니다. 표준/수락 방법이 있습니까?비동기 자바 스크립트 함수가 반환 될 때까지 대기
8
A
답변
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
1
다른 스크립트에 의존하지 않는 다른 방법은 loading jQuery asynchronously입니다.
관련 문제
- 1. 비동기 함수가 완료 될 때까지 함수를 대기 상태로 만들려면 어떻게해야합니까?
- 2. 대리자가 호출 될 때까지 대기
- 3. 자바 스크립트 체이닝 창이 팝업 창을 반환 할 때까지 대기
- 4. 페이지가로드 될 때까지 PyQt 대기
- 5. 배열 함수가 끝날 때까지 대기 :
- 6. 함수가 실행될 때까지 jQuery 대기
- 7. C# 함수가 실행되는 동안 비동기 대기
- 8. 나머지가 실행되기 전에 함수가 끝날 때까지 대기
- 9. 마지막으로 끝날 때까지 비동기 대기 파일을 다우로드하십시오.
- 10. 비활성화 에어로가 완료 될 때까지 대기
- 11. 모든 프로세스가 완료 될 때까지 대기
- 12. 두 개의 스레드가 완료 될 때까지 대기
- 13. jQuery autocomplete - 모든 문서가로드 될 때까지 대기
- 14. as3 버튼을 클릭 할 때까지 이미지가로드 될 때까지 대기
- 15. 자바 스크립트 함수가 함수가 아닙니다.
- 16. 자바 스크립트 대기 커서
- 17. JS 함수가 완료 될 때까지 onclick을 비활성화하십시오.
- 18. PHP 코드는 함수가 될 때까지 작동합니다.
- 19. PHP가 이전 함수가 완료 될 때까지 대기합니다.
- 20. ACK가 반환 될 때까지 TCP 전송 차단
- 21. 자바 스크립트 비동기 기능
- 22. 비동기 메서드와 스레드 대기 사용
- 23. 비동기 스레드가 작업을 처리 할 때까지 주 스레드 대기 중지
- 24. 자바 스크립트, 뭔가가 사실이 될 때까지 기다렸다가 조치를 취하십시오.
- 25. Windows Mobile/C : 변수가 변경 될 때까지 대기
- 26. 자바 스크립트 함수가 onSubmit과 함께 호출 될 때 작동하지 않습니다.
- 27. 자바 스크립트 배열 반환
- 28. 요청이 완료 될 때까지 액션 스크립트 블록
- 29. 조건이 충족 될 때까지 기다리시겠습니까?
- 30. # 자바 스크립트 이벤트가 끝날 때까지 기다리는 중 #
그냥 비동기를 사용합니다. 그것과 싸우려고하지 마라. – Anurag