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.
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);
noop
rather than just leaving the function blank? Aesthetics, performance or something else? –
Negus angular.noop
as you always reuse the same empty function (instead of declaring a new anonymous function everytime). Performance-wise it makes no difference as the code for angular.noop
is just an empty function named noop
. –
Peccant 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);
}
typeof callback === 'function' && callback();
. Way more classy ^^. Not using angular.noop
though. –
Prior 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
//do nothing on the success callback, hence replacing the success callbck function with angular.noop()
$scope.contacts= Contacts.query( angular.noop,function(response) { Window.myresp = response; $scope.displayError(response); console.log("bad boy, listContacts failed"); }); –
Woden *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
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
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()"`
ng-click="(variable) ? doSomething() : true"
would also work –
Activist © 2022 - 2024 — McMap. All rights reserved.