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.
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.
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);
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 untuk angular.noop
hanyalah fungsi kosong bernama noop
.
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);
}
typeof callback === 'function' && callback();
. Jauh lebih berkelas ^^. Tidak menggunakan angular.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
//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
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
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);
}
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 ()" `
ng-click="(variable) ? doSomething() : true"
juga akan bekerja