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

마흐무드 유세프

if 문에서 범위 변수를 변경하고 if 문 외부에서 정의되지 않은 변수로 변경되었습니다.

app.controller("Login", function($scope, $window,$http){
    var status;
    $scope.loginUser = function(logData){
        $http.post('/corporate/login',logData).then(function(response){
              var data = response.data
              var status = data.success;
              if(status == true){
                $scope.logStatus = true;
                console.log($scope.logStatus); // prints true
              }else{
                $scope.logStatus = false;
              }
        })

        console.log($scope.logStatus); //prints undefined
    }
});
Georgeawg

외부 ... 정의되지 않은 변수로 변했습니다.

undefined으로 "변환"되지 않았습니다 . console.log코드 의 마지막 은 성공 핸들러의 console.log 전에 실행 됩니다. 그것은이다 undefined그것은 아직 성공 핸들러가 설정되지 않았기 때문에.


약속 기반 비동기 작업의 탐색

console.log("Part1");
console.log("Part2");
var promise = $http.get(url);
promise.then(function successHandler(response){
    console.log("Part3");
});
console.log("Part4");

그림

"Part4"에 대한 콘솔 로그는 데이터가 서버에서 돌아올 때까지 기다릴 필요가 없습니다. XHR이 시작된 직후에 실행 됩니다 . "Part3"에 대한 콘솔 로그는 $ q 서비스 가 보유 하고 서버에서 데이터가 도착하고 XHR이 완료된 호출 되는 성공 핸들러 함수 내부에 있습니다.

자세한 내용은 성공 처리기 외부에서 $ http promise 응답을 사용하는 방법을 참조하세요 .

데모

console.log("Part 1");
console.log("Part 2");
var promise = new Promise(r=>r());
promise.then(function() {
    console.log("Part 3");
});
console.log("Part *4*");

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

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

분류에서Dev

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

분류에서Dev

익명 함수에서 부모 범위의 변수가 변경되지 않음

분류에서Dev

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

분류에서Dev

Rails : 범위 지정시 정의되지 않은 메서드 오류

분류에서Dev

메서드 외부 변수 범위

분류에서Dev

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

분류에서Dev

오류 : 최상위 수준에 대해 정의되지 않은 지역 변수 또는 메서드 'var'

분류에서Dev

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

분류에서Dev

정의되지 않은 지역 변수 또는 메서드 'place'

분류에서Dev

변수 정의되지 않은 범위

분류에서Dev

moongoose 함수 NODE JS 외부에서 정의되지 않은 변수 ID

분류에서Dev

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

분류에서Dev

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

분류에서Dev

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

분류에서Dev

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

분류에서Dev

__init__ 메서드의 변수 범위?

분류에서Dev

C # : 외부 범위에서 내부 범위의 변수에 액세스

분류에서Dev

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

분류에서Dev

개체 메서드와 동일한 변수 (개체 범위 외부)를 설정하면 정의되지 않은 결과가 반환되는 이유는 무엇입니까?

분류에서Dev

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

분류에서Dev

jquery onready 외부에서 정의되지 않은 Javascript 함수

분류에서Dev

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

분류에서Dev

angularjs 범위 변수가 지시문 외부에서 업데이트되지 않았습니다.

분류에서Dev

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

분류에서Dev

Where in do 블록에서 외부 범위의 변수 사용

분류에서Dev

정의되지 않은 지시문에서 범위 분리

분류에서Dev

외부 파일에서 정의되지 않은 지역 변수 ( "Ruby에 대한 Poignant 가이드")

분류에서Dev

자바 스크립트 : 변수가 전역 범위에서 선언되었지만 함수 내에서 정의되지 않은 상태로 유지됩니다.

Related 관련 기사

  1. 1

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

  2. 2

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

  3. 3

    익명 함수에서 부모 범위의 변수가 변경되지 않음

  4. 4

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

  5. 5

    Rails : 범위 지정시 정의되지 않은 메서드 오류

  6. 6

    메서드 외부 변수 범위

  7. 7

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

  8. 8

    오류 : 최상위 수준에 대해 정의되지 않은 지역 변수 또는 메서드 'var'

  9. 9

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

  10. 10

    정의되지 않은 지역 변수 또는 메서드 'place'

  11. 11

    변수 정의되지 않은 범위

  12. 12

    moongoose 함수 NODE JS 외부에서 정의되지 않은 변수 ID

  13. 13

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

  14. 14

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

  15. 15

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

  16. 16

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

  17. 17

    __init__ 메서드의 변수 범위?

  18. 18

    C # : 외부 범위에서 내부 범위의 변수에 액세스

  19. 19

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

  20. 20

    개체 메서드와 동일한 변수 (개체 범위 외부)를 설정하면 정의되지 않은 결과가 반환되는 이유는 무엇입니까?

  21. 21

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

  22. 22

    jquery onready 외부에서 정의되지 않은 Javascript 함수

  23. 23

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

  24. 24

    angularjs 범위 변수가 지시문 외부에서 업데이트되지 않았습니다.

  25. 25

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

  26. 26

    Where in do 블록에서 외부 범위의 변수 사용

  27. 27

    정의되지 않은 지시문에서 범위 분리

  28. 28

    외부 파일에서 정의되지 않은 지역 변수 ( "Ruby에 대한 Poignant 가이드")

  29. 29

    자바 스크립트 : 변수가 전역 범위에서 선언되었지만 함수 내에서 정의되지 않은 상태로 유지됩니다.

뜨겁다태그

보관