getCategory().then((res) => {
let itemList = res;
return new Promise((resolve, reject) => {
for(let i=0; i < res.length; i++) {
getItems(res[i].url).then((itempage) => {
const $ = itempage;
const pagination = $('.pagination .page').toArray().length;
itemList[i].total_page = pagination;
});
}
resolve(itemList);
});
}).then((res) => {
console.log(res);
});
以上是我的代碼。首先,我將res
分配給一個名爲itemList
的新變量,它是一個對象數組。 然後我做了一些承諾的功能,並嘗試添加新的數據到itemList
。如何在一些承諾過程後返回新變量?
但是,當console.log(res)
仍然打印出原來的itemList
。
我知道這可能是由promise函數引起的,但是如何解決呢?
預期產量是多少?根本不清楚你的代碼。 –
我認爲你的程序的邏輯需要重新審視。第一,你似乎有承諾的承諾。而且它們本質上是異步的,意味着它們沒有像你期望的那樣具有回報價值。您需要提供回調並與他們一起工作。也許如果你解釋你的確切商業案例,獲得幫助會更容易。 –
嘗試在此行itemList [i] .total_page = pagination之後解析itemList; –