2
내 부트 스트랩 선행 입력에서 응답 채우기하지 않으면 다음과 같은 인 선행 입력 작업 getSuggestions()가 약속을 사용하지 않고 배열을 반환하면 잘됩니다.부트 스트랩 선행 입력이 약속
내 부트 스트랩 선행 입력에서 응답 채우기하지 않으면 다음과 같은 인 선행 입력 작업 getSuggestions()가 약속을 사용하지 않고 배열을 반환하면 잘됩니다.부트 스트랩 선행 입력이 약속
AngularJS에서 resolve()의 결과는 $ digest cycle 내에서 즉시 비동기 적으로 전파됩니다. 즉, then()에 등록 된 콜백은 다이제스트주기가 발생할 때만 호출됩니다 (나중에).
따라서 $ digest()을 호출하거나 필요한 경우 $ apply()는 다이제스트주기를 실행하는 한 가지 방법입니다.
그래서 주어진 코드를 업데이트 할 필요가 다음
$scope.getSuggestions = viewValue => {
let deferred = $q.defer();
getSuggestions(viewValue).then(words => {
deferred.resolve(words);
$scope.$digest();//this triggers the digest cycle
})
.catch(()=>{
deferred.reject([]);
});
return deferred.promise;
};
'$ scope.getSuggestions'은 바로 ... 그래서, 당신이 –
작업 할 수 배열을 반환하지 않을 것, 약속을 반환 @ JaromandaX 형용사는 약속과 함께 잘 작동합니다. 전례없는 팝업이 가끔 나타나기 때문에 나는 말할 수 있습니다. – Ayan