programing

변수가 angularjs 약속인지 알 수 있는 방법이 있나요?

testmans 2023. 3. 26. 09:58
반응형

변수가 angularjs 약속인지 알 수 있는 방법이 있나요?

기능을 스코프 파라미터로 하는 지시어를 만들고 있습니다.scope: { method:'&theFunction' }이 방법으로 반환된 결과가 각도의 약속인지 아닌지를 알아야 합니다(네, 해결 시 어떤 일이 발생할 경우 즉시 발생합니다).

지금으로서는 테스트 중인데foo.then더 좋은 방법이 없을까 해서요.

사용할 수 있습니다.$q.when(그것이든 아니든) 약속으로 오브젝트를 감습니다.그러면, 당신은 항상 약속을 지키고 있다는 것을 확신할 수 있습니다.이렇게 하면 결과를 처리하는 코드가 간소화됩니다.

문서:$q.when여기 $q가 있습니다.

각도when()데이빈이 말한 것처럼 좋은 선택입니다.

이것이 고객의 요구를 만족시키지 못할 경우 Angular의 내부 확인 방법(내부 확인 방법 사용)when)는, 고객의 작업에 매우 가깝습니다.

var ref = function(value) {
   if (value && isFunction(value.then)) {
      // Then this is promise
   }

@kayakDave, 제대로 안내해 주셔서 감사합니다.

각 $q

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()대부분의 사용 사례에 대한 답변이 가장 좋은 답변인 것 같습니다. 제 경우 instance of the use case를 사용했습니다.

    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

반응형