2013-02-20 4 views
0

저는 아약스 호출을 통해 직원 목록을 검색하는 자바 스크립트 코드를 가지고 있습니다.전역 변수가 비어 있습니다.

this: [object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object] 
that: 

왜 아약스 - 전화 이외의 빈 employees_json입니다 :

var employees_json = ''; 

Ajax.callbackAsync('getEmployees', ['2627016'], 
    function(response){ 
     employees_json = response; 

     console.log('this: '+ employees_json); 
    }, 
    function(error){ 
     alert('Error while retrieving employees: '+ error); 
    } 
); 

console.log('that: '+ employees_json); 

콘솔에

출력 (2,627,016은 branch_id이다)?
또는 내가 보지 못했던 유형을 만들었습니다!

+5

'외부'는 비동기 코드를 처리 할 때 '이후'를 의미하지 않기 때문에. – raina77ow

+1

로그의 순서는 올린 사람의 방식과 똑같습니까? – techfoobar

+0

아니요, 코드에 여러 console.log가 있습니다.이 코드는 맨 아래에 있습니다. – nhalink

답변

0

console.log가 기능 (응답)보다 먼저 실행됩니다.

로그가 이와 유사하지 않습니까? : 그 : this : [개체 개체], [개체 개체], [개체 개체], [개체 개체], [개체 개체], [개체 개체], [개체 개체], [개체 개체 ], [object Object], [object Object], [object Object]

자바 스크립트는 1 스레드이지만 콜백 함수가 언제 실행되는지 알 수 없습니다. 코드를 조정해야합니다.

+0

응답 함수에서 응답과 함께 작동하는 코드를 옮겼습니다. – nhalink

관련 문제