【发布时间】:2021-06-10 00:35:01
【问题描述】:
我正在用 Angular 编写一个项目,但在我看来,我的问题与此无关。
我按顺序发送请求并尝试将响应值分配给双数组private labels: any [][] = [[]];。
getInfo(url: string, command: string, accessToken: string, companyToken: string, size: number) {
return this.httpClient.post(url,
JSON.stringify({
'cmd': 'getInfo',
'command': command,
'date': this.getDate(),
'accessToken': accessToken,
'companyToken': companyToken,
'size': size
})
);
}
getData() {
for (let i = 0; i < this.commands.length; i++) {
let labelsArr: string[] = [];
let dataArr: string[] = [];
this.getInfo(this.url, this.commands[i], this.accessToken, this.companyToken, 12)
.subscribe(
response => {
for (let j = 0; j < Object.keys(response).length; j++) {
labelsArr[j] = Object.entries(response)[j][1][0];
dataArr[j] = Object.entries(response)[j][1][1];
}
this.labels[i] = labelsArr;
//not empty
console.log(this.labels);
this.AllData[i] = dataArr;
});
}
//empty
console.log(this.labels);
}
在getData()中我输出了结果数组,事实是输出到subscribe时不为空,但是如果我尝试在subscribe之外显示字段的值,原来是数组是空的,我不明白这与什么有关,有人可以建议吗?
附言
我认为这是因为响应来晚了我有时间使用标签,我怎样才能使它们同步?
【问题讨论】:
标签: javascript angular typescript web