2017-01-24 1 views
1

약 10ms 걸리는 약속을 반환하는 함수가 있습니다. 완료 할 때까지 오랜 시간이 걸리는 (다른 함수의 시작 부분에서) 해당 함수를 호출합니다 비동기 코드가 없습니다). 호스트 함수가 실행을 완료하기 전에 약속이 해결되면 호스트 함수가 완료 될 때까지 기다릴 것입니까?AngularJS 약속 : 함수가 반환되기 전에 약속이 완료되면

function foo() { 
    getSomeValues().then(function() { 
    // getSomeValues takes approx. 10ms 
    console.log('Got Values'); 
    }); 

    for (var i = 0; i < 3; i++) { 
    // both operations take approx. 900ms 
    moveFile(); 
    moveFileBack(); 
    console.log('Iteration: ' + (i + 1)); 
    } 
} 

이 기능은 콘솔에 어떤 순서로 인쇄됩니까?

답변

4

예.

Promise 콜백은 항상 다음 이벤트 루프 프레임에서 비동기 적으로 실행됩니다.

코드가 실행되는 동안 (자바 스크립트가 단일 스레드이므로) 코드가 완전히 중단되지 않습니다.

관련 문제