Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- this.items.forEach(element => {
- console.log("Note UserId ", element.UserId);
- this.userService.loadByUserId(element.UserId).subscribe(res => element.Name = res.Name);
- });
- loadByUserId(userId: string): Observable<any> {
- //TODO: Figure better way to check for cached users with multiple async calls at once
- if (userId) {
- if (this.pendingUsers.filter(f => f == userId).length == 0) {
- this.pendingUsers.push(userId);
- if (this.users.find(x => x.UserId === userId)) {
- const source = Observable.from(this.users);
- return source.find(f => f.UserId === userId);
- } else {
- return this._api.get('User/' + userId).map(res => {
- if (this.users.filter(f => f.UserId == res.UserId).length == 0) {
- console.log("added user ", res.Name);
- this.users.push(res);
- }
- return res;
- });
- }
- }
- else {
- return Observable.empty();
- }
- } else {
- return Observable.empty();
- }
- }
Add Comment
Please, Sign In to add comment