我用一棵树,我想得到一个节点的所有父节点。 这样我就得到了所有父母的清单,并且foreach我得到了节点数据。
我的问题是,当我迭代节点ID时,我调用一个函数来设置树中的数据(该函数也将获取子节点)。该函数从http调用获取数据。
但是在map函数中,我已经在第一个终止项之前迭代了第二个项。
第一个通话结束后,我想在地图上继续。
很难解释,我希望它是可以理解的:)
这是一个代码示例:
setData(parentNode) {
parentNode.isLoading = true;
this.dataSource.getData(parentNode.id).subscribe(data => {
this.data = data;
parentNode.isLoading = false;
});
}
getData(idToGet) {
this.data.find(data => data.id);
}
initData(){
const idsToFetch = [1,3,6];
idsToFetch.map(id => {
this.setData(
this.getData(id)
);
});
}
答案 0 :(得分:0)
您的案例要求您保留数据字段的初始副本。我合并了beavity的方法。
initData(){
const idsToFetch = [1,3,6];
const initialData = this.data;
idsToFetch.map(id => {
this.setData(
this.initialData.find(item => item.id == id)
);
});