javascript - Ajax 비동기 로딩과 관련하여 데이터 지연 문제에 대해 문의하세요.
阿神
阿神 2017-06-30 09:53:44
0
6
717

외부에서 빈 배열을 정의한 다음 ajax 요청을 하고, 요청 내부에 다른 요청을 중첩한 다음 마지막으로 이를 세 개의 개체로 연결하고 빈 배열을 삽입합니다.
그런 다음 가장 바깥쪽에 배열 길이를 인쇄했는데 인쇄된 길이가 0입니다. 이 문제는 할당에 영향을 미칩니다. 해결 방법을 알려주십시오.

阿神
阿神

闭关修行中......

모든 응답(6)
为情所困

ajax 비동기로 인해 이러한 문제가 발생할 수 있습니다. 해결 방법 1. 약속 2. Ajax 콜백에 값 할당

ringa_lee

ajax는 비동기식입니다. 로그 코드가 실행될 때 ajax는 아직 반환되지 않았습니다.

学霸

이벤트 루프 문제를 확인해주세요

우리는 ajax가 비동기 작업이라는 것을 알고 있습니다.

현재 console.log의 위치는 실제로 [].length

입니다.

현재 js가 실행된 후 ajax 성공 콜백이 실행됩니다. 성공 콜백이 성공한 후에만 arr 배열이 값으로 푸시됩니다.

따라서 두 번째 Ajax 성공 콜백에 console.log를 넣을 수 있습니다.
약속하자면 이 중첩 콜백은 매우 잘 최적화되지만 Ajax를 캡슐화해야 합니다

모든 Ajax를 Promise로 감싸는 것이 좋습니다

为情所困

ajax는 비동기식 데이터 획득 방법이므로 비동기식으로 획득한 데이터는 우리가 일반적으로 이해하는 동기식 방식으로 처리할 수 없습니다. 성공 콜백 함수에 console.log를 작성해야 합니다.

过去多啦不再A梦

외부에서 내부 값을 가져올 수 있도록 async: false를 설정하세요.

巴扎黑

이 경우 Ajax 동기화로 변경해야 합니다. 비동기식이라면 ajax와 그 뒤의 코드가 동시에 실행됩니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿