Saya telah mencoba mencarinya di mana-mana bahkan di dokumentasi Angular.org tetapi tidak dapat menemukan penjelasan rinci tentang penerapannya. Akan sangat membantu jika ada yang bisa menjelaskannya.
javascript
angularjs
Keras
sumber
sumber
Jawaban:
angular.noop adalah fungsi kosong yang dapat digunakan sebagai placeholder saat Anda perlu meneruskan beberapa fungsi sebagai 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);
sumber
noop
daripada membiarkan fungsinya kosong? Estetika, kinerja, atau yang lainnya?angular.noop
karena Anda selalu menggunakan kembali fungsi kosong yang sama (alih-alih mendeklarasikan fungsi anonim baru setiap saat). Dari segi kinerja, tidak ada bedanya karena kode untukangular.noop
hanyalah fungsi kosong bernamanoop
.Saya merasa sangat membantu saat menulis fungsi yang mengharapkan panggilan balik.
Contoh:
function myFunction(id, value, callback) { // some logic return callback(someData); }
Fungsi di atas akan mengembalikan kesalahan, ketika dipanggil tanpa menentukan argumen ketiga.
myFunction(1, 'a');
Contoh (menggunakan
angular.noop
):function myFunction(id, value, callback) { var cb = callback || angular.noop; // if no `callback` provided, don't break :) // some logic return cb(someData); }
sumber
typeof callback === 'function' && callback();
. Jauh lebih berkelas ^^. Tidak menggunakanangular.noop
.Ini adalah fungsi yang tidak melakukan operasi. Ini berguna dalam situasi seperti ini:
function foo(y) { var x= fn(); (y|| angular.noop)(x); }
Berguna saat menulis kode dalam gaya fungsional
sumber
//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 gagal ");});* Jawaban ini mengasumsikan bahwa Anda bukan pemula dalam bidang sudut
Angular.noop adalah fungsi kosong yang dapat digunakan sebagai placeholder dalam beberapa kasus
sebagai contoh:
Bayangkan Anda menggunakan q.all yang melakukan beberapa panggilan ke api dan mengembalikan satu janji. Jika beberapa dari panggilan ini gagal tetapi Anda masih perlu menangani panggilan yang tidak gagal, gunakan noop sudut sebagai callback ke panggilan api saat Anda menangkap panggilan. Jika Anda tidak menggunakan sudut noop, q.all akan menolak semuanya jika satu panggilan gagal.
Q.all (somecall.catch (angular.noop), anothercall). Kemudian (selesaikan hasil [0] dan hasil [1])
Jika panggilan gagal, Angular akan mengabaikannya dan melakukan panggilan lain (tetapi Anda masih belum ditentukan untuk hasil penyelesaian pertama)
Saya harap saya membantu
sumber
var result = (callback || angular.noop)(params)
Ini cara terpendek untuk dilakukan
var result = typeof callback === 'function' && callback(params);
Memperhatikan bahwa callback var akan menjadi sebuah fungsi
sumber
Jika Anda ingin dokumentasi resmi di sini adalah tautannya . Ini sangat sederhana. Saya juga telah menempelkan dokumentasi saat ini dari tautan.
Fungsi yang tidak melakukan operasi. Fungsi ini bisa berguna saat menulis kode dalam gaya fungsional.
function foo(callback) { var result = calculateResult(); (callback || angular.noop)(result); }
sumber
Trik: Anda juga dapat menggunakannya untuk menambahkan terner ke
ng-click
atribut:ng-click="(variable) ? doSomething() : angular.noop()"
Sampai saya menemukan Anda bisa menggunakan ng-click = "variable && doSomething ()" `
sumber
ng-click="(variable) ? doSomething() : true"
juga akan bekerja