javascript - 仅在所有过程完成后如何显示对象?
问题描述
我正在将数据显示到卡片中。大约有12张卡片。所以我正在尝试将所有卡片内容收集到一个对象中,一旦所有数据都推送到对象,然后将其呈现给卡片。
这是我尝试过的代码:
public cardObj: {} = {};
loadData() {
this.cardObj["card_1"] = {
a: selectedProductRow["aa"],
b: selectedProductRow["bb"],
c: selectedProductRow["cc"],
};
this.calculateYTDRate(salid, prvid);
console.log("filters", this.cardObj);
}
calculateYTDRate(salid: string, prvid: number) {
this.boService.getYTDRate(salid, prvid)
.subscribe((res) => {
let keys = Object.keys(res.data);
//card 2
let c2 = res.data[keys[0]].sumturn;
this.cardObj["card_2"] = {
year: `YTD ${keys[0]}`,
value: this.nFormatter(c6),
};
let c3 = res.data[keys[1]].sumturn;
this.cardObj["card_3"] = {
year: `YTD ${keys[1]}`,
value: this.nFormatter(c7),
};
this.cardObj["card_4"] = {
growthYTD: (((c7 / c6) - 1) * 100).toFixed(2) + '%'
};
},
(err) => {
console.log("Error calculating YTD Rate" + err);
}
);
}
这里“card_1”被快速推送到cardObj,而calculateYTDRate() 中的其他卡需要大约2-3 分钟来计算并推送到对象。
即使此函数在后台运行,console.log("filters", this.cardObj) 也会执行哪些渲染卡。
我想在我所有的卡片都被推送到对象后执行这个控制台。
我该如何解决这个问题?
解决方案
推荐阅读
- javascript - React useEffect 无限循环
- regex - Lucene 正则表达式 v4
- c# - Web 程序集未编译并出现链接器错误 [Uno 平台]
- angular - 使用秋田状态库向嵌套数组添加对象 - Angular 9
- python - Django Celery 如何每 5 秒运行一次函数?
- c# - 如何使用 JWT 令牌 ASP.NET MVC
- python - 如何使用 fnmatch 检查字符串特定位置的模式?
- python - 基于值,显示通过或失败
- tcp - 在什么情况下,应用程序可能会收到乱序的 TCP 数据包?
- sql - 有没有办法在连接子句中执行 If Then 语句