Rumah > hujung hadapan web > tutorial js > Sekiranya Anda Menggunakan Panggilan Balik dengan Janji AngularJS?

Sekiranya Anda Menggunakan Panggilan Balik dengan Janji AngularJS?

Barbara Streisand
Lepaskan: 2024-11-09 20:22:02
asal
878 orang telah melayarinya

Should You Use Callbacks with AngularJS Promises?

Penyongsangan Panggilan Balik dalam AngularJS: Anti-Corak

Dalam AngularJS, adalah amalan biasa untuk menghantar fungsi panggil balik kepada perkhidmatan yang mengembalikan Janji. Walau bagaimanapun, pendekatan ini boleh memperkenalkan anti-corak dan menghalang faedah Promises.

Contoh Anti-Corak:

Pertimbangkan kod berikut, di mana perkhidmatan getTokens menerima fungsi panggil balik:

...
getTokens: function(callbackFn) {
  $http.get('/api/tokens').then (function onFulfilled(response) {
    callbackFn(response.data);
  });
}
...
Salin selepas log masuk

Pendekatan ini mempunyai beberapa keburukan:

  • Penyongsangan Kawalan: Fungsi panggil balik dilaksanakan dalam konteks perkhidmatan, menyongsangkan aliran kawalan dan menyukarkan untuk mengikuti kod.
  • Rangkaian Janji Patah:Panggilan balik menghalang Janji daripada dirantai kerana mengendalikan berbilang acara atau memanipulasi data mengikut turutan.
  • Kerumitan: Pengendalian panggilan balik yang eksplisit menambahkan kerumitan yang tidak perlu pada pangkalan kod.

Pemfaktoran Semula untuk Amalan Terbaik:

Untuk menyelesaikan anti-corak ini, faktorkan semula kod seperti berikut:

...
getTokens: function() {
  return $http.get('/api/tokens');
}
...
Salin selepas log masuk

Dalam modul panggilan, gunakan Promise yang dikembalikan untuk mengendalikan keputusan:

yourModule.getTokens()
  .then(function(response) {
    // handle it
  });
Salin selepas log masuk

Faedah Amalan Terbaik:

Mengguna pakai amalan terbaik ini menyediakan beberapa kelebihan:

  • Memelihara Janji Rantai: Janji kini boleh dirantai untuk melaksanakan berbilang operasi secara berurutan, meningkatkan kebolehbacaan dan kebolehselenggaraan kod.
  • Kod Ringkas: Mengalih keluar pengendalian panggilan balik yang jelas memudahkan pangkalan kod dan menghapuskan kemungkinan ralat.
  • Meningkatkan Kebolehujian: Janji menyediakan antara muka yang bersih untuk menguji operasi tak segerak, menjadikannya lebih mudah untuk mengesahkan kelakuan kod.

Atas ialah kandungan terperinci Sekiranya Anda Menggunakan Panggilan Balik dengan Janji AngularJS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan