Saya sedang mengerjakan projek kecil baru-baru ini Disebabkan kekurangan jurutera hadapan dalam pasukan, saya telah diminta untuk menulis Angular tanpa pengalaman langsung.
Saya membaca beberapa buku asas dan merasakan bahawa mekanisme penghantaran tak segerak bagi rehat API dalam sudut adalah sangat ajaib.
Pada masa yang sama, saya juga berfikir, jika parameter dalam permintaan http anda yang seterusnya memerlukan hasil permintaan sebelumnya, bagaimana untuk memastikan bahawa parameter boleh diperolehi dan bukan batal.
Saya cuba meletakkan permintaan http kedua atau ketiga selepas .success, dan ia sememangnya berjaya, tetapi rasanya kod itu sangat berlebihan dan terdapat terlalu banyak tahap bersarang.
Adakah anda mempunyai sebarang cadangan?
Poster asal mencadangkan untuk melihat rantai janji bersarang dan rantai janji
Memandangkan $http Angular mempunyai dua kaedah pintasan terbina dalam, kejayaan dan ralat, kaedah standard itu mudah diabaikan.
Poster asal perlu menggunakan sarang janji kemudian
Contohnya
Atau gunakan rantai janji
Keperluan yang berbeza boleh menggunakan borang janji yang berbeza
Sebagai contoh, anda juga boleh menggunakan kaedah Q.all untuk melengkapkan berbilang janji sebelum memproses acara
Beroperasi dalam kejayaan boleh memastikan bahawa semua data diperolehi sedikit seperti panggilan berantai.
Sekeping kod yang wujud sebagai baseService dalam projek peribadi:
Berikut ialah postService khusus:
Perkara terakhir dalam blogConroller mungkin seperti ini:
Jika bahagian belakang memastikan gaya antara muka REST yang baik, adalah disyorkan untuk menggunakan pemalam rasmi $resource:
Anda boleh menggunakannya sekarang: