외부에서 빈 배열을 정의한 다음 ajax 요청을 하고, 요청 내부에 다른 요청을 중첩한 다음 마지막으로 이를 세 개의 개체로 연결하고 빈 배열을 삽입합니다. 그런 다음 가장 바깥쪽에 배열 길이를 인쇄했는데 인쇄된 길이가 0입니다. 이 문제는 할당에 영향을 미칩니다. 해결 방법을 알려주십시오.
闭关修行中......
ajax 비동기로 인해 이러한 문제가 발생할 수 있습니다. 해결 방법 1. 약속 2. Ajax 콜백에 값 할당
ajax는 비동기식입니다. 로그 코드가 실행될 때 ajax는 아직 반환되지 않았습니다.
이벤트 루프 문제를 확인해주세요
우리는 ajax가 비동기 작업이라는 것을 알고 있습니다.
현재 console.log의 위치는 실제로 [].length
현재 js가 실행된 후 ajax 성공 콜백이 실행됩니다. 성공 콜백이 성공한 후에만 arr 배열이 값으로 푸시됩니다.
따라서 두 번째 Ajax 성공 콜백에 console.log를 넣을 수 있습니다.약속하자면 이 중첩 콜백은 매우 잘 최적화되지만 Ajax를 캡슐화해야 합니다
모든 Ajax를 Promise로 감싸는 것이 좋습니다
ajax는 비동기식 데이터 획득 방법이므로 비동기식으로 획득한 데이터는 우리가 일반적으로 이해하는 동기식 방식으로 처리할 수 없습니다. 성공 콜백 함수에 console.log를 작성해야 합니다.
외부에서 내부 값을 가져올 수 있도록 async: false를 설정하세요.
이 경우 Ajax 동기화로 변경해야 합니다. 비동기식이라면 ajax와 그 뒤의 코드가 동시에 실행됩니다
ajax 비동기로 인해 이러한 문제가 발생할 수 있습니다. 해결 방법 1. 약속 2. Ajax 콜백에 값 할당
ajax는 비동기식입니다. 로그 코드가 실행될 때 ajax는 아직 반환되지 않았습니다.
이벤트 루프 문제를 확인해주세요
우리는 ajax가 비동기 작업이라는 것을 알고 있습니다.
현재 console.log의 위치는 실제로 [].length
입니다.현재 js가 실행된 후 ajax 성공 콜백이 실행됩니다. 성공 콜백이 성공한 후에만 arr 배열이 값으로 푸시됩니다.
따라서 두 번째 Ajax 성공 콜백에 console.log를 넣을 수 있습니다.
약속하자면 이 중첩 콜백은 매우 잘 최적화되지만 Ajax를 캡슐화해야 합니다
모든 Ajax를 Promise로 감싸는 것이 좋습니다
ajax는 비동기식 데이터 획득 방법이므로 비동기식으로 획득한 데이터는 우리가 일반적으로 이해하는 동기식 방식으로 처리할 수 없습니다. 성공 콜백 함수에 console.log를 작성해야 합니다.
외부에서 내부 값을 가져올 수 있도록 async: false를 설정하세요.
이 경우 Ajax 동기화로 변경해야 합니다. 비동기식이라면 ajax와 그 뒤의 코드가 동시에 실행됩니다