我正在创建一个Alexa应用程序,该应用程序充当股票的投资组合经理。我有一个函数,该函数首先检索所有股票和属于用户的股票数量。对于每种股票,我必须使用Request查询API以获取股票的值,这意味着请求嵌套在forEach循环中。然后,我有一个totalPrice变量,该变量使用股票的总价格递增;将价格乘以拥有的股票数量x即可得出
在forEach循环结束时,我要打印totalPrice,这将是投资组合的整个价值
当我在request语句中打印出totalPrice时,它会正确添加以前的总股票价格,但是如果我在forEach循环之后打印totalPrice,则会显示0
var totalPrice = 0;
data.Items.forEach(function(element,index,array) {
var stock = element.Stock;
var number = element.Number;
var url = `www.api.com/${stock}`;
request.get(url, (error, response,body) => {
var JSON = JSON.parse(body);
var price = JSON.PRICE
var stockPriceTotal = price * amount;
totalprice += stockPriceTotal;
});
});
console.log(totalPrice);