Isu dalam Mengembalikan Keputusan Diperoleh daripada Pertanyaan Pangkalan Data Dibuat dalam Gelung
Dalam pertanyaan ini, matlamatnya adalah untuk membuat berbilang pertanyaan MongoDB dalam gelung dan hantar hasil gabungan sebagai tatasusunan data tunggal. Walau bagaimanapun, menggunakan pulangan dalam gelung tidak menunggu permintaan pangkalan data selesai, menghasilkan respons yang tidak ditentukan. Malah penggunaan Q.moulde tidak menyelesaikan isu.
Kod Diubah Suai:
var getPrayerInCat = function(data){ var promises = data.map(function(data2){ var id = data2.id; return Q.nbind(Prayer.find, Prayer)({prayerCat:id}) .then(function(prayer) { if(!prayer) data2.prayersCount = 0; else data2.prayersCount = prayer.length; return data2; }) }); return Q.all(promises); }
Penjelasan:
Atas ialah kandungan terperinci Bagaimana untuk Memastikan Pertanyaan Pangkalan Data Selesai Sebelum Mengembalikan Keputusan dalam Gelung dengan MongoDB dan Q Promises?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!