gpt4 book ai didi

Javascript - 使用 PHP 后的 Promise,得到未定义的结果

转载 作者:行者123 更新时间:2023-11-28 05:32:55 25 4
gpt4 key购买 nike

我是 JS 的新手,对异步程序和 Promise 知之甚少。我在从 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]then 函数循环内返回 undefined。任何帮助(或解决此问题的替代方法)表示赞赏。谢谢!

最佳答案

I have no idea why the results[i] return undefined inside then function loop.

因为 .then() 函数中没有循环。因此,i 的值是创建所有 Promise 的循环结束时的值,即创建的 Promise 的数量。但结果的索引从0i-1

Promise.all(promises).then(function(results) {
for (var i = 0; i < results.length; i++) {
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');
});

关于Javascript - 使用 PHP 后的 Promise,得到未定义的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39556665/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com