Rumah > hujung hadapan web > tutorial js > Mengapakah Menggunakan Kaedah Panggilan Balik dalam Promise `.then` adalah Anti-Corak?

Mengapakah Menggunakan Kaedah Panggilan Balik dalam Promise `.then` adalah Anti-Corak?

Barbara Streisand
Lepaskan: 2024-11-14 14:40:02
asal
716 orang telah melayarinya

Why is Using Callbacks in Promise `.then` Methods an Anti-Pattern?

Menggunakan Panggilan Balik dalam Janji .kemudian Kaedah: Anti-Corak

Amalan menyediakan fungsi panggil balik kepada perkhidmatan AngularJS seperti yang dilihat dalam coretan kod yang anda berikan mungkin kelihatan mudah, tetapi ia mengikut corak anti. Pendekatan ini mengganggu aliran pengaturcaraan tak segerak dan penyongsangan kawalan yang dimaksudkan oleh Promises.

Mengapa ia Anti-Corak?

  • Mengganggu Rantaian: Janji kaedah .then membolehkan anda merantai berbilang operasi tak segerak. Dengan menggunakan panggilan balik, anda kehilangan keupayaan untuk meneruskan dengan mudah memproses hasil satu operasi dalam operasi berikutnya.
  • Penyongsangan Kawalan: Kod asal menyongsangkan kawalan pelaksanaan dengan menghantar panggil balik daripada modul pengguna kepada modul pembekal. Ini menjadikan lebih sukar untuk mengurus dan menyahpepijat aliran pelaksanaan.
  • Kerumitan Janji yang Tidak Diperlukan: Janji menyediakan mekanisme untuk mengendalikan operasi tak segerak. Dengan membungkus janji dalam panggilan balik, anda memperkenalkan kerumitan yang tidak perlu dan mengaburkan niat kod.

Penyelesaian Pemfaktoran Semula:

Untuk memfaktorkan semula kod dan menghapuskan isu ini , anda boleh menggunakan kaedah .then biasa tanpa panggilan balik fungsi:

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

Dalam modul pengguna, anda boleh terus menggunakan .kemudian untuk merantai operasi:

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

Faedah Kod Refactored:

  • Mengekalkan Rantaian: Dengan membalas Janji daripada fungsi getTokens, anda boleh merantai operasi seterusnya dengan mudah.
  • Memelihara Kawalan: Modul pengguna mengawal pelaksanaan operasi async tanpa bergantung pada panggilan balik.
  • Memudahkan Kod: Kod yang difaktorkan semula memudahkan proses pengendalian tak segerak, menjadikan ia lebih mudah untuk difahami dan diselenggara.

Atas ialah kandungan terperinci Mengapakah Menggunakan Kaedah Panggilan Balik dalam Promise `.then` adalah Anti-Corak?. 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