【发布时间】:2018-03-23 05:05:41
【问题描述】:
需要帮助,将数据传递给 Angular 2 应用程序中的一个函数到另一个函数。
在这个应用程序中,我从服务器获取数据
问题:无法将数据发送到 service.ts 中的一个函数到另一个函数
预期:获取值并在第二个函数中读取。
请注意:因为它是服务器客户端集成,所以我没有 plunker 或 jsfiddle。
第一个函数
getDLFolders() {
return this.http.get(this.url + '/alfresco/api/-default-/public/cmis/versions/1.1/browser/root/sites/' + this.targetSite + '/documentLibrary/' + this.targetFolder + '?/cmisselector=children&succinct=true&alf_ticket=' + this.ticket)
.map(res => res.json())
.subscribe(
resGetRecords => {
//get objects from document folders
let objectGroup = resGetRecords.objects;
let objectIDs = [];
for (var i = 0; i < objectGroup.length; i++) {
//push object ID's from folder
objectIDs.push(objectGroup[i].object.succinctProperties["cmis:objectId"]);
}
return objectIDs;
//this will return []array with following values
//5645cf45-9b6c-4ad2-ad18-91d24c31f837;1.0
//4712dc17-0c9f-439f-8577-0c80e52d7afc;1.0
}
);
}
第二个功能
getJson() {
//how to get the getDLFolders function return values
for (var i = 0; i < objectIDs.length; i++) {
return this.http.get(this.url + '/alfresco/api/-default-/public/cmis/versions/1.1/browser/root?objectId='+ objectIDs[i] +'&alf_ticket=' + this.ticket)
.map(res => res.json());
}
}
订阅另一个文件
export class UserdashboardComponent implements OnInit {
details = [];
records = [];
errorMsg: string;
constructor(private _myRecords: AuthService, private _myDocuments: AuthService) { }
ngOnInit() {
//get user details,
this._myRecords.getPeople()
.subscribe(
resGetRecords => {
// first name, last name
this.details = resGetRecords;
},
resRecordsError => this.errorMsg = resRecordsError
);
//get document Libary records of user ,
this._myDocuments.getJson()
.subscribe(
resGetRecords => {
//debugger;
// folders
this.records = resGetRecords;
console.log(this.records);
},
resRecordsError => this.errorMsg = resRecordsError
);
}
}
【问题讨论】:
标签: javascript angular observable pass-by-reference subscription