我在努力學習使用諾言。 在這種情況下,我想做一個網絡刮板。我在此代碼中使用request-promise
。如何獲取承諾內的價值?
實際上刮刀工作正常。我錯誤理解如何使用then()
內的返回值。我也搜索了它,但沒有運氣,仍然卡住了。這是我的代碼。
let categories = scrapper.getCategories(promoUrl);
categories.then(function (val) {
let promoPerCategory = [];
for (let i = 0, len = val.length; i < len; i++) {
let json = {
category: val[i].category,
url: val[i].url,
promo: []
}
scrapper.getPromoPerCategories(val[i].url)
.then(function (allPromo) {
for (let j = 0, lenResult = allPromo.length; j < lenResult; j++) {
json.promo.push({
imageUrl: allPromo[j].imageUrl,
merchantName: allPromo[j].merchantName,
promoTitle: allPromo[j].promoTitle,
validUntil: allPromo[j].validUntil,
promoUrl: allPromo[j].promoUrl
});
console.log(json.promo[j]);
}
})
promoPerCategory.push(json);
}
result.send({ "promoPerCategory": promoPerCategory });
})
的then()
內部功能getPromoPerCategories
工作正常,我打印出來使用console.log(json.promo[j])
的價值,但問題是我希望把陣列從json.promo[j]
到數組promoPerCategory
,這樣我可以把它用result.send({ "promoPerCategory": promoPerCategory })
你能幫我做正確的方法嗎?任何幫助將非常感激。現在
結果是這樣的
{"promoPerCategory": [{"category":"Fashion","url":"https://","promo":[]}
對象promo
是空數組
現在很清楚,先生!謝謝你的工作。 – lloistborn