Programing

Angular.noop은 무엇에 사용됩니까?

lottogame 2020. 9. 15. 19:11
반응형

Angular.noop은 무엇에 사용됩니까?


Angular.org 문서 에서도 모든 곳에서 검색을 시도했지만 구현에 대한 자세한 설명을 찾을 수 없습니다. 설명 할 수 있다면 큰 도움이 될 것입니다.


angular.noop는 일부 함수를 매개 변수로 전달해야 할 때 자리 표시 자로 사용할 수있는 빈 함수입니다.

function foo (callback) {
    // Do a lot of complex things

    callback();
}

// Those two have the same effect, but the later is more elegant
foo(function() {});
foo(angular.noop);

콜백을 기대하는 함수를 작성할 때 매우 유용합니다.

예:

function myFunction(id, value, callback) {

    // some logic
    return callback(someData);
}

위의 함수는 세 번째 인수를 지정하지 않고 호출되면 오류를 반환합니다. myFunction(1, 'a');

예 (사용 angular.noop) :

function myFunction(id, value, callback) {

    var cb = callback || angular.noop; // if no `callback` provided, don't break :)
    // some logic
    return cb(someData);
}

아무 작업도 수행하지 않는 기능입니다. 이것은 다음과 같은 상황에서 유용합니다.

function foo(y) {
   var x= fn();
   (y|| angular.noop)(x);
 }

기능적인 스타일로 코드를 작성할 때 유용합니다.


*이 답변은 u가 각도의 초보자가 아니라고 가정합니다.

Angular.noop는 경우에 따라 자리 표시 자로 사용할 수있는 빈 함수입니다.

예를 들면 :

api를 여러 번 호출하고 하나의 promise를 반환하는 q.all을 사용하고 있다고 상상해보십시오. 이러한 호출 중 일부가 실패하지만 실패하지 않은 호출을 처리해야하는 경우 호출을 잡을 때 angular noop을 api 호출에 대한 콜백으로 사용하십시오. angular noop을 사용하지 않으면 q.all은 한 번의 호출이 실패하면 모든 것을 거부합니다.

Q.all (somecall.catch (angular.noop), anothercall) .then (resolve result [0] 및 result [1])

호출이 실패하면 Angular는이를 무시하고 다른 호출을 수행합니다 (그러나 u는 여전히 첫 번째 해결 된 결과에 대해 정의되지 않습니다)

내가 도왔 으면 좋겠어


var result = (callback || angular.noop)(params)

할 수있는 가장 짧은 방법

var result = typeof callback === 'function' && callback(params);

콜백 var가 함수가 될 것이라는 점을 고려


If you want official documentation here is the link. It is pretty simple. I have also pasted the current documentation from link.


A function that performs no operations. This function can be useful when writing code in the functional style.

function foo(callback) {
  var result = calculateResult();
  (callback || angular.noop)(result);
}


Trick: You can also use it to add a ternary to an ng-click attribute:

ng-click="(variable) ? doSomething() : angular.noop()"

Until I found out you could use ng-click="variable && doSomething()"`

참고URL : https://stackoverflow.com/questions/22348253/what-is-angular-noop-used-for

반응형