У меня есть метод, который возвращает либо объект, либо массив из одних и тех же объектов на основе URL-адреса запроса. логика проста;возвращать несколько типов наблюдаемых в Typcript
myservice.service.ts:
private _url_User = "https://api.github.com/users/dummyuser";
constructor(private _http: Http){}
getUsers(followers?: boolean): Observable<User | User[]>{
this._url_User += followers?"/followers":"";//if followers equals true edit url, this returns array of same user object
return this._http.get(this._url_User).map(res=>res.json());
}
mycomponent.component.ts:
import { Component,OnInit } from '@angular/core';
import {Auth} from '../../services/auth.service';
import {CommentService} from '../../services/comment.service';
import {User} from '../../infrastructure/user';
@Component({
moduleId:module.id,
selector: 'app-comment',
templateUrl: '../../templates/comment.component.html'
})
export class CommentComponent implements OnInit{
user:User;
followers:User[];
constructor(private auth: Auth, private commentService: CommentService){
}
ngOnInit(){
this.commentService.getUsers().subscribe(d=>{ this.user=d[0]; console.log(this.user.email)});
this.commentService.getUsers(true).subscribe(d=>{this.followers=d; console.log(this.followers[0].email)});
}
}
и вот сообщение об ошибке, я не мог ручка;
Рабочий пример, похоже, не компилируется: «Тип« строка »не может быть присвоен типу 'string []'." – spottedmahn
@spottedmahn это намеренно - обратите внимание на комментарии в коде, вызывающем эту функцию внизу, которые разделяют примеры на «Все действительные» (которые выполняются и должны компилироваться) и «Недействительные» (различные примеры, которые этого не делают, и не должны) –
О, извините, я не читал достаточно близко. Я только что открыл пример и нажал пробег! Спасибо за разъяснения! – spottedmahn