then
의 콜백이 호출되지 않을 가능성이있는 이유는 무엇입니까? 예 :
function testPromise() {
console.log("this gets logged")
return $q(function(resolve, reject) {
console.log("this too")
resolve("test")
console.log("and this");
$rootScope.$apply()
console.log("and this too");
})
}
testPromise().then(function(result){
console.log("this never gets logged")
});
나는 뭔가 명확하지 않습니까? 고맙습니다.
비슷한 질문이 ** ** ** 번 ** 전에 네가 생각하기는하지만 ** 특정 문제는 return 문에서 전에가 아닌 return 문에서'$ rootScope. $ apply()'를 호출하여 발생한다. 추가 다이제스트. '$ rootScope. $ digest()'를'$ rootScope. $ apply()'바로 앞에 추가하십시오. –
확실히'$ q'는 resolve/reject 모두에 대한 스코프 다이제스트를 단독으로 트리거합니다. 수동으로 추가 할 필요가 없습니다. – Phil
Phil과 동의합니다. 실제로 어떤 이유로 든 $ apply()를 호출하는 데 문제가 있습니다. – moplin