1
我是JS中的新手,對於異步程序和諾言有一點點也不瞭解。我有寫在這個代碼正從後PHP結果的問題:Javascript - 使用諾言發佈PHP,得到未定義的結果
showModalLink = function(d, i) {
$('#myModalLabel').text(d.source.name + ' - ' + d.target.name);
$('#modalJum').text(d.jumlahlelangsama);
var lelang = d.daftarlelangsama.split(", ");
var lelangmodal = [];
var promises = [];
for (var i = 0; i < lelang.length; i++) {
querystring = "select pemenang from lelang where id = " + lelang[i];
console.log(querystring);
var queryobj = {
query: querystring
};
promises.push($.post('indikasi3modal.php', queryobj));
}
Promise.all(promises).then(function(results) {
if (results[i] == d.source.name) {
console.log("1");
lelangmodal.push(lelang[i] + " - dimenangkan oleh " + d.source.name);
console.log(lelangmodal);
}
else if (results[i] == d.target.name) {
console.log("2");
lelangmodal.push(lelang[i] + " - dimenangkan oleh " + d.target.name);
console.log(lelangmodal);
}
else {
console.log("3");
lelangmodal.push(lelang[i]);
console.log(lelangmodal);
}
$('#modalLelang').text(lelangmodal);
$('#myModal').modal('show');
});}
我不知道爲什麼results[i]
回報undefined
內then
函數循環。任何幫助(或解決此問題的替代方法)都表示讚賞。謝謝!
您使用'results [i]',但是您沒有設置'i'。 – Barmar
也許你應該在回調函數中有一個'for(i = 0; i
Barmar
@Barmar噢我忘了那件事...現在它工作。謝謝你的超快反應,主席先生:) – Rosiana