저는 자바 스크립트와 AJAX에서 작업하고 있습니다. 로그인 할 서버를 호출합니다. 로그인이 사실이라는 응답을 보냅니다. 그런 다음 서버에 다시 전화하여 사용자에 대한 모든 정보를 수집해야합니다. 전화를 즉시하면 서버는 사용자가 로그인하지 않은 응답을 되돌려 보낼 것입니다. setTimeout (myFunction(), 1000) 또는 setInterval (myFunction(), 1000)을 사용할 수 있습니다. 두 번째 전화 걸기. 나는 나머지 코드를 실행하지 않고 계속하기 전에 적절한 응답을 기다리는 깨끗한 방법이 있는지 궁금해했다. 가장 큰 질문은 콜백 응답에 모든 것을 넣지 않고 어떻게 할 수 있을까요? 나는 코드가 다소 모듈화되기를 원한다.자바 스크립트 흐름 지연
답변
비동기 기술을 사용하여 프로그래밍해야합니다. 응답을 처리하는 일반적인 아약스 jQuery를에 전화 한 다음과 같을 것이다 :
$.ajax(...).then(function(result) {
// put code here that uses the result
// then continue on with other code that should run after the result was processed
});
// code here will run BEFORE the ajax call completes
하나 개 아약스 호출을 실행하려면 다음 그 이후 또 하나, 당신이 중 하나를 체인하거나 실행할 수있는 경우 첫 번째 완료 콜백 내에서 두 번째 :
$.ajax(...).then(function(result) {
// process result of the first
// run second ajax call
return $.ajax(...)
}).then(function(secondResult) {
// code here when second ajax call is done
});
그는 이미 당신이 말하는 것을 생각합니다. 그는 요청 사이에 무엇을해야하는지 묻습니다. 나는 로더와 모달을 보여주는 것이 몇 가지 표준이라고 생각합니다. – skobaljic
@skobaljic - 나는 그것을 의심합니다. OP는 타임 아웃을 사용하여이 기술이 사용되는 경우 필요하지 않은 ajax 호출을 "대기"하려고합니다. 언제나처럼, OP가 실제 코드를 포함한다면 모든 것이 훨씬 명확해질 것입니다. – jfriend00
그는 10 개의 요청을 보내고 로그인을 기다리고 있음을 알고 있습니다 (그는'setInterval (myFunction(), 1000)'). 계속해서 그는 사용자가 로그인 할 때까지 다른 코드 실행을 허용하고 싶지 않습니다. – skobaljic
- 1. 자바 스크립트 skrollr 지연
- 2. 지연 onmouseover 자바 스크립트
- 3. 지연 자바 스크립트
- 4. 자바 스크립트 타이머 지연
- 5. 자바 스크립트 지연 출력
- 6. 자바 스크립트 디버깅 지연
- 7. 자바 스크립트 : 지연
- 8. 자바 스크립트 지연 팝업
- 9. 추적 자바 스크립트 함수 흐름
- 10. 지연 자바 스크립트 호버 조치
- 11. 자바 스크립트 값 할당 지연?
- 12. 자바 스크립트 : 양식 제출 지연
- 13. 자바 스크립트 창 닫기 지연
- 14. Drupal 양식 자바 스크립트 지연
- 15. 자바 스크립트 함수에 지연 추가
- 16. 자바 스크립트 - setInterval, animation, 지연
- 17. 자바 스크립트 지연 애니메이션 추가
- 18. 자바 스크립트 setInterval을 지연 화면이
- 19. 다양한 브라우저에서 기본 자바 스크립트 흐름
- 20. 자바 스크립트 시리즈 기반 제어 흐름
- 21. 자바 스크립트 지연 후 피아노 키 연주하기
- 22. setTimeout의 지연 부분이 무시됩니다. 자바 스크립트
- 23. 자바 스크립트 :. (bgColor가 대), 지연 실행
- 24. 자바 스크립트 지연 로딩 빈 페이지
- 25. 자바 스크립트 코드를 실행하기 전에 지연
- 26. 자바 스크립트 이미지 회전 시간 지연
- 27. 자바 스크립트 setInterval - 카운트 다운 지연
- 28. iframe 지연 추가 자바 스크립트 애니메이션
- 29. 결과를 얻는 방법 자바 스크립트 중첩 지연
- 30. 자바 스크립트 이벤트 처리 지연 이벤트 스크롤
내가 중복으로 표시 한 질문은 정확히 같은 질문이 아니지만 맨 위에있는 대답 *에 나열된 기술은 정확히 사용자가 사용해야하는 것입니다. –
로리는 뭐하고 있니? 질문은 Ajax 응답을받는 것과 아무런 관련이 없습니다. Michael은 응답 (두 번째 및 세 번째 문장)을 얻지 만 두 번째 'ok'응답이 올 때까지 다른 코드가 실행되는 것을 지연하려고합니다. (오버레이로 UI 차단, 중첩 된 Ajax 호출 설정 등) – skobaljic
코드를 표시하고 문제가 무엇인지 설명하십시오. 귀하의 질문은 단순히 명확하지 않습니다. Javascript는 콜백에서 비동기 응답을 처리합니다. 이것이 비동기 응답을 처리하는 유일한 방법이므로 콜백을 피하려고 시간을 낭비하고 있습니다. 약속은 콜백을 처리하는보다 우아한 방법이지만 여전히 콜백입니다. – jfriend00