Dalam perniagaan sebenar, selalunya perlu menunggu beberapa permintaan untuk diselesaikan sebelum meneruskan ke langkah seterusnya. Tetapi $http dalam angularjs tidak menyokong permintaan segerak.
Penyelesaian 1:
Penyelesaian 2:
Kaedah dalam kemudian akan dilaksanakan mengikut tertib.
getJson('json1.txt').then(function(){
return getJson('json2.txt');
}).kemudian(fungsi(){
return getJson('json1.txt');
}).kemudian(fungsi(){
return getJson('json2.txt');
}).kemudian(fungsi(d){
console.log('end');
});
});
Penyelesaian tiga:
Parameter pertama kaedah $q.all boleh menjadi tatasusunan (objek). Selepas kandungan dalam parameter pertama dilaksanakan, kaedah dalam kemudian akan dilaksanakan. Semua nilai pulangan kaedah parameter pertama akan dihantar dalam bentuk tatasusunan (objek).
Terdapat banyak tutorial di Internet untuk penggunaan terperinci $q. Saya pun baru tahu. Kalau tak pandai cakap, tak berani nak cakap bukan-bukan. Kod di atas ditulis mengikut pemahaman saya, dan ia telah diuji tanpa sebarang masalah.