Reputation: 1695
I have tried searching it everywhere even on Angular.org documentation but couldn't find any detailed explanation with implementation. It would be hugely helpful if any could explain it.
Upvotes: 87
Views: 43230
Reputation: 135
*this answer assumes that u are not a beginner in angular
Angular.noop is an empty function that can be used as placeholder in some cases
for example:
Imagine you are using q.all which do multiple calls to the api and return one promise. If some of these calls fail but u still need to handle the ones that didnt fail, use angular noop as a callback to the api calls when u catch the calls. If u dont use angular noop, q.all will reject everthing if one call fails.
Q.all( somecall.catch(angular.noop), anothercall).then( resolve result[0] and result[1])
If a call fails, Angular will ignore that and perform another call (but u will still will undefined for the first resolved result)
I Hope that I helped
Upvotes: 5
Reputation: 7157
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()"`
Upvotes: 0
Reputation: 1892
var result = (callback || angular.noop)(params)
Its a shortest way to do
var result = typeof callback === 'function' && callback(params);
Taking into account that callback var will be a function
Upvotes: 4
Reputation: 27043
I find it extremely helpful when writing a function that expects a callback.
Example:
function myFunction(id, value, callback) {
// some logic
return callback(someData);
}
The function above will return an error, when it gets called without specifying the third argument. myFunction(1, 'a');
Example (using angular.noop
):
function myFunction(id, value, callback) {
var cb = callback || angular.noop; // if no `callback` provided, don't break :)
// some logic
return cb(someData);
}
Upvotes: 27
Reputation: 1075
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);
}
Upvotes: 2
Reputation: 3056
angular.noop is an empty function that can be used as a placeholder when you need to pass some function as a param.
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);
Upvotes: 151
Reputation: 172458
It is a function that performs no operations. This is useful in situation like this:
function foo(y) {
var x= fn();
(y|| angular.noop)(x);
}
It is useful when writing code in the functional style
Upvotes: 16