반응형
변수가 angularjs 약속인지 알 수있는 방법이 있습니까?
함수를 범위 매개 변수 ( scope: { method:'&theFunction' }
) 로 사용하는 지시문을 만들고 있습니다. 해당 메서드에 의해 반환 된 결과가 각도 약속인지 알아야합니다 (해상도에 문제가 발생하면 즉시 발생합니다).
지금 foo.then
은 존재 하는지 테스트하고 있지만 더 나은 방법이 있는지 궁금합니다.
를 사용 $q.when
하여 개체를 약속으로 래핑 할 수 있습니다 (그렇지 않든). 그러면 항상 약속을 처리하고 있음을 확신 할 수 있습니다. 이렇게하면 결과를 처리하는 코드가 단순화됩니다.
에 대한 문서 $q.when
는 여기 $ q 입니다.
Angular when()
는 Davin이 언급했듯이 좋은 옵션입니다.
그것이 당신의 필요를 충족시키지 못하면 Angular의 내부 검사 방법 (내부 사용 when
)은 당신이하고있는 일과 매우 가깝습니다.
var ref = function(value) {
if (value && isFunction(value.then)) {
// Then this is promise
}
@kayakDave, 올바른 장소로 안내해 주셔서 감사합니다.
when(value, [successCallback], [errorCallback], [progressCallback]); Wraps an object that might be a value or a (3rd party) then-able promise into a $q promise. This is useful when you are dealing with an object that might or might not be a promise, or if the promise comes from a source that can't be trusted.
$q.when(value).then(function (data) {
//this helps me to bind data from $resource or $http or object
}
이 바이올린을 확인
$q.when()
대답은 내가 사용하는 대부분의 사용 사례에 대한 가장 좋은 대답처럼 보인다 instanceof를 광산.
if(buttonData instanceof $q) {
buttonData.then(function(actions) {
$scope.buttonActions = actions;
});
} else {
$scope.button = buttonData;
}
또는 다음 IF도 작동했지만 위의 솔루션으로 끝났습니다.
if(Object.getPrototypeOf(buttonData) === $q.prototype) {
참고 URL : https://stackoverflow.com/questions/20723735/any-way-to-know-if-a-variable-is-an-angularjs-promise
반응형
'program tip' 카테고리의 다른 글
전체 디렉토리 경로없이 파일 이름 만 표시하려면 (0) | 2020.12.10 |
---|---|
인터페이스 인스턴스 컬렉션을 역 직렬화 하시겠습니까? (0) | 2020.12.10 |
Mongoose Schema가 모델에 등록되지 않았습니다. (0) | 2020.12.10 |
대규모 개발에 Python을 어떻게 사용할 수 있습니까? (0) | 2020.12.10 |
JavaScript를 통해 HTML 파일 업로드 필드 지우기 (0) | 2020.12.10 |