Ho provato a cercarlo ovunque anche sulla documentazione di Angular.org ma non sono riuscito a trovare alcuna spiegazione dettagliata con l'implementazione. Sarebbe estremamente utile se qualcuno potesse spiegarlo.
Ho provato a cercarlo ovunque anche sulla documentazione di Angular.org ma non sono riuscito a trovare alcuna spiegazione dettagliata con l'implementazione. Sarebbe estremamente utile se qualcuno potesse spiegarlo.
Risposte:
angular.noop è una funzione vuota che può essere utilizzata come segnaposto quando è necessario passare una funzione come parametro.
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);
nooppiuttosto che lasciare la funzione vuota? Estetica, performance o altro?
angular.nooppoiché riutilizzi sempre la stessa funzione vuota (invece di dichiarare ogni volta una nuova funzione anonima). Dal punto di vista delle prestazioni non fa differenza poiché il codice per angular.noopè solo una funzione vuota denominata noop.
Lo trovo estremamente utile quando si scrive una funzione che prevede un callback.
Esempio:
function myFunction(id, value, callback) {
// some logic
return callback(someData);
}
La funzione sopra restituirà un errore, quando viene chiamata senza specificare il terzo argomento. myFunction(1, 'a');
Esempio (utilizzando 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();. Molto più elegante ^^. Non usando angular.noopperò.
È una funzione che non esegue operazioni. Questo è utile in situazioni come questa:
function foo(y) {
var x= fn();
(y|| angular.noop)(x);
}
È utile quando si scrive codice in stile funzionale
//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 ");});
* questa risposta presuppone che tu non sia un principiante in angolare
Angular.noop è una funzione vuota che può essere utilizzata come segnaposto in alcuni casi
per esempio:
Immagina di utilizzare q.all che esegue più chiamate all'API e restituisce una promessa. Se alcune di queste chiamate falliscono ma hai ancora bisogno di gestire quelle che non hanno fallito, usa angular noop come callback alle chiamate API quando prendi le chiamate. Se non usi il noop angolare, q.all rifiuterà tutto se una chiamata fallisce.
Q.all (somecall.catch (angular.noop), anothercall) .then (risolvere il risultato [0] e il risultato [1])
Se una chiamata fallisce, Angular lo ignorerà ed eseguirà un'altra chiamata (ma sarà ancora indefinito per il primo risultato risolto)
Spero di aver aiutato
var result = (callback || angular.noop)(params)
È il modo più breve per farlo
var result = typeof callback === 'function' && callback(params);
Tenendo conto che callback var sarà una funzione
Se vuoi la documentazione ufficiale ecco il link . È piuttosto semplice. Ho anche incollato la documentazione corrente dal collegamento.
Una funzione che non esegue operazioni. Questa funzione può essere utile quando si scrive codice in stile funzionale.
function foo(callback) {
var result = calculateResult();
(callback || angular.noop)(result);
}
Trucco: puoi anche usarlo per aggiungere un ternario a un ng-clickattributo:
ng-click="(variable) ? doSomething() : angular.noop()"
Fino a quando non ho scoperto che potresti usare ng-click = "variable && doSomething ()" "
ng-click="(variable) ? doSomething() : true"funzionerebbe anche