【发布时间】:2019-08-04 14:16:09
【问题描述】:
我是 Angular 的新手。我正在使用 trello API。我有一个数组,其中有一些列表 ID。我想让 HTTP 获取列表 ID 数组长度时间的调用。在示例中,我有两个 ID,因此 HTTP 调用应该进行两次。我在每个 http 请求中得到卡片(对象数组)作为响应。我想在一个数组中连接或推送响应。作为下面的示例,我将数据推送到 taskArray 但它不存储任何内容。
第一次调用它返回 - 数据 (3) [{…}, {…}, {…}]
首先调用它返回 - 数据 (7) [{…}, {…}, {…}, {…}, {…}, {…}, {…}]
连接后的预期输出是 - data (10) [{...}, {...}, {...}, {...}, {...}, {...}, {...}, {...}, {...}, {…}]
当前输出是-数据[]
//component.ts
public listArr = ['5c78bebad10c40163a4f8fc6', '5c7cf40cb8f22b26862602aa'];
public taskArr = [];
ngOnInit() {
for (var i = 0; i < this.listArr.length; i++) {
let apiUrl = 'lists/' + this.listArr[i] + '/cards?key=12345688888888&token=b65ss88rhsnjj78925556dkjsagfsv';
this._service.trelloCall(apiUrl)
.subscribe(
data => {
this.taskArr.push(data)
}
}
console.log('taskArr', this.taskArr)
}
}
//service.ts
public trelloUrl = 'https://api.trello.com/1/';
trelloCall(apiUrl) {
return this.http.get < any > (this.trelloUrl + apiUrl)
.pipe(
map(data => {
return data;
}),
catchError(error => {
return throwError('Something went wrong!')
})
)
}
【问题讨论】:
-
试试
this.taskArr = this.taskArr.concat(data);?另外,在这里做控制台日志:data => {this.taskArr.push(data)}因为异步
标签: javascript jquery arrays angular for-loop