Eu tentei pesquisar em todos os lugares, mesmo na documentação do Angular.org , mas não consegui encontrar nenhuma explicação detalhada sobre a implementação. Seria extremamente útil se alguém pudesse explicar.
Eu tentei pesquisar em todos os lugares, mesmo na documentação do Angular.org , mas não consegui encontrar nenhuma explicação detalhada sobre a implementação. Seria extremamente útil se alguém pudesse explicar.
Respostas:
angular.noop é uma função vazia que pode ser usada como espaço reservado quando você precisa passar alguma função como um 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);
noopvez de apenas deixar a função em branco? Estética, performance ou outra coisa?
angular.nooppois você sempre reutiliza a mesma função vazia (em vez de declarar uma nova função anônima toda vez). Em termos de desempenho, não faz diferença, pois o código para angular.noopé apenas uma função vazia nomeada noop.
Acho extremamente útil ao escrever uma função que espera um retorno de chamada.
Exemplo:
function myFunction(id, value, callback) {
// some logic
return callback(someData);
}
A função acima retornará um erro, quando for chamada sem especificar o terceiro argumento. myFunction(1, 'a');
Exemplo (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);
}
typeof callback === 'function' && callback();. Muito mais elegante ^^. Não usando angular.noopembora.
É uma função que não executa nenhuma operação. Isso é útil em situações como esta:
function foo(y) {
var x= fn();
(y|| angular.noop)(x);
}
É útil ao escrever código no estilo funcional
//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 falhou ");});
* esta resposta assume que você não é um iniciante em angular
Angular.noop é uma função vazia que pode ser usada como marcador em alguns casos
por exemplo:
Imagine que você esteja usando q.all, que faz várias chamadas para a api e retorna uma promessa. Se algumas dessas chamadas falharem, mas você ainda precisar lidar com aquelas que não falharam, use o angular noop como um retorno de chamada para as chamadas de API quando você capturar as chamadas. Se você não usar o noop angular, q.all rejeitará tudo se uma chamada falhar.
Q.all (somecall.catch (angular.noop), anothercall) .then (resolver resultado [0] e resultado [1])
Se uma chamada falhar, o Angular irá ignorar isso e realizar outra chamada (mas você continuará indefinido para o primeiro resultado resolvido)
Espero ter ajudado
var result = (callback || angular.noop)(params)
É a maneira mais curta de fazer
var result = typeof callback === 'function' && callback(params);
Levando em consideração que o callback var será uma função
Se você quiser a documentação oficial aqui está o link . É muito simples. Também colei a documentação atual do link.
Uma função que não executa nenhuma operação. Esta função pode ser útil ao escrever código no estilo funcional.
function foo(callback) {
var result = calculateResult();
(callback || angular.noop)(result);
}
Truque: você também pode usá-lo para adicionar um ternário a um ng-clickatributo:
ng-click="(variable) ? doSomething() : angular.noop()"
Até eu descobrir que você poderia usar ng-click = "variable && doSomething ()" `
ng-click="(variable) ? doSomething() : true"também funcionaria