변수 정의되지 않은 범위

데이비드 터너

내 코드는 다음과 같습니다.

function example() { 
     var post = object.get("owner");
         post.fetch({
            success: function(post) {
               window.titles = post.get("username");
               console.log(window.titles);
            }
         });
     console.log(window.titles);
} 

첫 번째 로그가 성공적으로 작동합니다. 메서드 외부에서 두 번째 로그는 정의되지 않은 것으로 인쇄됩니다. 왜?

Shomz

외부 기능에서 작동하지만 비동기 호출에는 시간이 걸리기 때문에 즉시 작동하지 않습니다. 그것이 JS의 본질입니다.

가장 쉬운 방법은 비동기 함수의 결과에 직접 의존하는 모든 코드를 다른 함수로 이동 한 다음 성공 콜백 내에서 실행하는 것입니다.

이 같은:

function example() { 
     var post = object.get("owner");
         post.fetch({
            success: function(post) {
               window.titles = post.get("username");
               otherImportantCode(); // call the remaining code from here
            }
         });
     console.log(window.titles); // won't work here
} 

function otherImportantCode() {
     console.log(window.titles); // see, it works here, outside the example function
     // ... the rest of the code depending on window.titles
}

이러한 문제를보다 고급 처리 할 준비가되면 약속 및 이벤트에 대해 알아보십시오.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

AngularJS 앱의 정의되지 않은 범위 변수

분류에서Dev

컨트롤러에서 정의되지 않은 범위 변수

분류에서Dev

지시문 링크 함수에 정의되지 않은 범위 변수

분류에서Dev

C 정적 범위 변수 정의되지 않음

분류에서Dev

Coldfusion 및 범위가 지정되지 않은 변수

분류에서Dev

Backbonejs 범위 문제, 어떻게 든 정의되지 않은 변수

분류에서Dev

카르마 테스트에서 정의되지 않은 예상 범위 변수

분류에서Dev

`.then` 메서드 외부에서 정의되지 않은 범위 변수

분류에서Dev

변수가 정의되지 않았습니다. 이상한 변수 범위

분류에서Dev

외부 범위에 정의 된 변수가 내부 범위에 정의되지 않았습니다.

분류에서Dev

전역 변수는 함수 범위 내에서 정의되지 않습니다.

분류에서Dev

각도 지시문-함수 내부에 정의되지 않은 범위

분류에서Dev

함수간에 정의되지 않은 JavaScript 전역 동적 변수가 로컬 범위 인 것 같습니다.

분류에서Dev

다른 기능에 대한 페이지로드에 정의되지 않은 AngularJS 범위 변수

분류에서Dev

C ++ / CX Metro Windows-create_task 구현으로 해당 범위에 정의되지 않은 변수 사용 방지

분류에서Dev

$ watch에 정의되지 않은 범위

분류에서Dev

flutter의 범위에서 변수가 변경되지 않음

분류에서Dev

Python 3 : 범위에서 재정의 할 때 변수가 해결되지 않음

분류에서Dev

Angular.js 범위 변수 정의되지 않음, ng-repeat 초기 상태

분류에서Dev

자바 스크립트 변수 범위 반환 정의되지 않음

분류에서Dev

이 범위에서 선언되지 않은 Modelica 변수

분류에서Dev

이 범위에서 선언되지 않은 Opencv 변수

분류에서Dev

파이썬에서 일관되지 않은 변수 범위

분류에서Dev

내 Angular 범위 변수가 정의되지 않은 이유는 무엇입니까?

분류에서Dev

전역 범위에서 정의되지 않은 매개 변수를 참조하는 방법

분류에서Dev

Meteor 호출 범위 변수가 설정되지 않습니다.

분류에서Dev

상위 범위에서 선언 된 변수는 로컬 범위에서 정의되지 않고 실행되지 않은 명령문에서 동일한 이름의 변수가 로컬 범위에서 선언됩니다.

분류에서Dev

범위 변수를 사용할 때 Excel vba 변수가 정의되지 않았습니다.

분류에서Dev

정의되지 않은 변수는 해당 이름이 정의 된 반복 범위에있는 경우 오류를 발생시키지 않습니다.

Related 관련 기사

  1. 1

    AngularJS 앱의 정의되지 않은 범위 변수

  2. 2

    컨트롤러에서 정의되지 않은 범위 변수

  3. 3

    지시문 링크 함수에 정의되지 않은 범위 변수

  4. 4

    C 정적 범위 변수 정의되지 않음

  5. 5

    Coldfusion 및 범위가 지정되지 않은 변수

  6. 6

    Backbonejs 범위 문제, 어떻게 든 정의되지 않은 변수

  7. 7

    카르마 테스트에서 정의되지 않은 예상 범위 변수

  8. 8

    `.then` 메서드 외부에서 정의되지 않은 범위 변수

  9. 9

    변수가 정의되지 않았습니다. 이상한 변수 범위

  10. 10

    외부 범위에 정의 된 변수가 내부 범위에 정의되지 않았습니다.

  11. 11

    전역 변수는 함수 범위 내에서 정의되지 않습니다.

  12. 12

    각도 지시문-함수 내부에 정의되지 않은 범위

  13. 13

    함수간에 정의되지 않은 JavaScript 전역 동적 변수가 로컬 범위 인 것 같습니다.

  14. 14

    다른 기능에 대한 페이지로드에 정의되지 않은 AngularJS 범위 변수

  15. 15

    C ++ / CX Metro Windows-create_task 구현으로 해당 범위에 정의되지 않은 변수 사용 방지

  16. 16

    $ watch에 정의되지 않은 범위

  17. 17

    flutter의 범위에서 변수가 변경되지 않음

  18. 18

    Python 3 : 범위에서 재정의 할 때 변수가 해결되지 않음

  19. 19

    Angular.js 범위 변수 정의되지 않음, ng-repeat 초기 상태

  20. 20

    자바 스크립트 변수 범위 반환 정의되지 않음

  21. 21

    이 범위에서 선언되지 않은 Modelica 변수

  22. 22

    이 범위에서 선언되지 않은 Opencv 변수

  23. 23

    파이썬에서 일관되지 않은 변수 범위

  24. 24

    내 Angular 범위 변수가 정의되지 않은 이유는 무엇입니까?

  25. 25

    전역 범위에서 정의되지 않은 매개 변수를 참조하는 방법

  26. 26

    Meteor 호출 범위 변수가 설정되지 않습니다.

  27. 27

    상위 범위에서 선언 된 변수는 로컬 범위에서 정의되지 않고 실행되지 않은 명령문에서 동일한 이름의 변수가 로컬 범위에서 선언됩니다.

  28. 28

    범위 변수를 사용할 때 Excel vba 변수가 정의되지 않았습니다.

  29. 29

    정의되지 않은 변수는 해당 이름이 정의 된 반복 범위에있는 경우 오류를 발생시키지 않습니다.

뜨겁다태그

보관