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:
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'); };
yourModule.getTokens() .then(function(response) { // handle it });
Faedah Reka Bentuk Janji-Centric
Pendekatan ini menawarkan banyak kelebihan berbanding berasaskan panggilan balik kaedah:
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!