Intenté buscarlo en todas partes, incluso en la documentación de Angular.org , pero no pude encontrar ninguna explicación detallada con la implementación. Sería de gran ayuda si alguien pudiera explicarlo.
javascript
angularjs
Duro
fuente
fuente
Respuestas:
angular.noop es una función vacía que puede usarse como marcador de posición cuando necesita pasar alguna función como parámetro.
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);
fuente
noop
lugar de simplemente dejar la función en blanco? ¿Estética, rendimiento o algo más?angular.noop
ya que siempre reutiliza la misma función vacía (en lugar de declarar una nueva función anónima cada vez). En cuanto al rendimiento, no hace ninguna diferencia, ya que el código paraangular.noop
es solo una función vacía nombradanoop
.Lo encuentro extremadamente útil al escribir una función que espera una devolución de llamada.
Ejemplo:
function myFunction(id, value, callback) { // some logic return callback(someData); }
La función anterior devolverá un error cuando se llame sin especificar el tercer argumento.
myFunction(1, 'a');
Ejemplo (usando
angular.noop
):function myFunction(id, value, callback) { var cb = callback || angular.noop; // if no `callback` provided, don't break :) // some logic return cb(someData); }
fuente
typeof callback === 'function' && callback();
. Mucho más elegante ^^. Sinangular.noop
embargo, no lo estoy usando .Es una función que no realiza operaciones. Esto es útil en situaciones como esta:
function foo(y) { var x= fn(); (y|| angular.noop)(x); }
Es útil cuando se escribe código en estilo funcional.
fuente
//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 ("chico malo, listContacts falló ");});* esta respuesta asume que no eres un principiante en angular
Angular.noop es una función vacía que se puede usar como marcador de posición en algunos casos
por ejemplo:
Imagina que estás usando q.all, que hace varias llamadas a la API y devuelve una promesa. Si algunas de estas llamadas fallan, pero aún necesita manejar las que no fallaron, use angular noop como devolución de llamada a las llamadas de la API cuando las reciba. Si no usa el noop angular, q.all rechazará todo si falla una llamada.
Q.all (somecall.catch (angular.noop), anothercall). Then (resuelve el resultado [0] y el resultado [1])
Si una llamada falla, Angular lo ignorará y realizará otra llamada (pero aún estará indefinido para el primer resultado resuelto)
Espero haber ayudado
fuente
var result = (callback || angular.noop)(params)
Es la forma más corta de hacerlo
var result = typeof callback === 'function' && callback(params);
Teniendo en cuenta que la var de devolución de llamada será una función
fuente
Si quieres documentación oficial aquí está el enlace . Es bastante simple. También pegué la documentación actual del enlace.
Una función que no realiza operaciones. Esta función puede resultar útil al escribir código en estilo funcional.
function foo(callback) { var result = calculateResult(); (callback || angular.noop)(result); }
fuente
Truco: también puede usarlo para agregar un ternario a un
ng-click
atributo:ng-click="(variable) ? doSomething() : angular.noop()"
Hasta que descubrí que podía usar ng-click = "variable && doSomething ()" `
fuente
ng-click="(variable) ? doSomething() : true"
también funcionaría