Rumah > hujung hadapan web > tutorial js > Mengapakah Panggilan Balik dengan Janji .maka Kaedah adalah Idea Buruk?

Mengapakah Panggilan Balik dengan Janji .maka Kaedah adalah Idea Buruk?

Mary-Kate Olsen
Lepaskan: 2024-11-16 09:03:02
asal
773 orang telah melayarinya

Why are Callbacks with Promise .then Methods a Bad Idea?

Akibat Tidak Sedap Menggunakan Panggilan Balik dengan Janji .then Kaedah

Mencari pendekatan yang lebih optimum untuk mengurus operasi tak segerak, pembangun mungkin tersandung pada cadangan yang melibatkan penggunaan fungsi panggil balik dalam perkhidmatan AngularJS. Walau bagaimanapun, amalan sedemikian memerlukan penelitian, kerana ia boleh membawa kepada hasil yang tidak diingini.

Dalam coretan kod yang disediakan, tokenService menggunakan panggilan balik dalam kaedah getTokens untuk mengendalikan hasil permintaan HTTP. Pendekatan ini, walau bagaimanapun, memberikan beberapa kelemahan:

  • Aliran Patah: Ia menghalang rantaian kejayaan dan pengendali kegagalan yang lancar.
  • Penyongsangan Kawalan: Ia mengalihkan kawalan pemprosesan respons daripada pemanggil kepada modul yang dipanggil, yang berpotensi membawa kepada kekeliruan.
  • Janji Tidak Konsisten: Walaupun kod tersebut menggabungkan janji, panggilan balik masih digunakan untuk mengendalikan respons, mewujudkan disonans kognitif.

Memfaktorkan Semula untuk Janji -Pengendalian Berorientasikan

Untuk membetulkan perkara ini isu, kod itu harus direka bentuk semula untuk menerima sifat tak segerak janji sepenuhnya. Dalam versi yang disemak, kaedah getTokens hanya mengembalikan janji yang boleh digunakan oleh pemanggil dalam kaedah mereka sendiri:

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

Faedah Reka Bentuk Janji-Centric

Pendekatan ini menawarkan banyak kelebihan berbanding berasaskan panggilan balik kaedah:

  • Aliran Dipertingkat: Operasi boleh dirantai bersama dengan lebih berkesan, memastikan aliran pelaksanaan yang logik dan diperkemas.
  • Kejelasan: Tanggungjawab untuk pengendalian respons kekal dengan pemanggil, menghapuskan kekaburan.
  • Ketekalan: Janji digunakan secara konsisten di seluruh pangkalan kod, menggalakkan pemahaman dan kebolehselenggaraan.

Dengan memahami kelemahan menggunakan panggilan balik dengan kaedah promise .then dan menerima pendekatan yang lebih berorientasikan janji, pembangun boleh meningkatkan dengan ketara amalan pengendalian kod tak segerak mereka. Ini membawa kepada kod yang lebih jelas dan terurus yang meningkatkan pengalaman pembangun dan menggalakkan pangkalan kod yang lebih boleh diselenggara dan bebas pepijat.

Atas ialah kandungan terperinci Mengapakah Panggilan Balik dengan Janji .maka Kaedah adalah Idea Buruk?. 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