Rumah > hujung hadapan web > tutorial js > Mengapakah Panggilan Balik dalam Promise .then Methods merupakan Anti-Corak dalam AngularJS?

Mengapakah Panggilan Balik dalam Promise .then Methods merupakan Anti-Corak dalam AngularJS?

Patricia Arquette
Lepaskan: 2024-11-16 07:41:03
asal
835 orang telah melayarinya

Why are Callbacks in Promise .then Methods an Anti-Pattern in AngularJS?

Mengapa Panggilan Balik daripada Janji .maka Kaedah adalah Anti-Corak

Soalan:

Adakah ia anti-corak untuk menyediakan fungsi panggil balik kepada perkhidmatan AngularJS dalam kaedah promise .then? Jika ya, bagaimanakah kod itu perlu difaktorkan semula dan mengapa?

Jawapan:

Faktor semula Kod:

Tukar kaedah getTokens dalam tokenService untuk mengembalikan janji secara langsung dan bukannya menerima a panggil balik:

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

Dalam pengawal, gunakan kaedah .then untuk merantai kejayaan/gagal pengendali:

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

Mengapa Cara Asal adalah Anti-Corak:

  • Menghalang rantaian pengendali janji selanjutnya. Yang asal kod menghalang rantaian tambahan .kemudian kaedah untuk pemprosesan selanjutnya bagi respons.
  • Menyongskan kawalan. Dengan menerima panggilan balik, kawalan memproses respons dipindahkan daripada modul pemanggil ke modul yang dipanggil , yang tidak sesuai.
  • Penggunaan janji yang tidak perlu. Walaupun perkhidmatan $http mengembalikan janji, kod asal menukarnya kembali kepada panggilan balik, menjadikan penggunaan janji berlebihan.
  • Potensi kekeliruan. Menggunakan janji sebagai panggilan balik memperkenalkan konsep yang tidak perlu ke dalam pangkalan kod dan mungkin sukar untuk ahli pasukan untuk faham.

Atas ialah kandungan terperinci Mengapakah Panggilan Balik dalam Promise .then Methods merupakan Anti-Corak dalam AngularJS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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