我在努力学习使用诺言。 在这种情况下,我想做一个网络刮板。我在此代码中使用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