[javascript] 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가 함수가 될 것이라는 점을 고려


답변

공식 문서를 원하시면 여기에 링크가 있습니다. 매우 간단합니다. 링크에서 현재 문서를 붙여 넣었습니다.


작업을 수행하지 않는 기능입니다. 이 함수는 함수 스타일로 코드를 작성할 때 유용 할 수 있습니다.

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


답변

트릭 : ng-click속성에 삼항을 추가하는 데 사용할 수도 있습니다 .

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

내가 ng-click = “variable && doSomething ()”`을 사용할 수 있다는 것을 알기 전까지