Mam usługę, która ma tę metodę:Jak stworzyć obserwowalne dane statyczne podobne do http w Angular?
export class TestModelService {
public testModel: TestModel;
constructor(@Inject(Http) public http: Http) {
}
public fetchModel(uuid: string = undefined): Observable<string> {
if(!uuid) {
//return Observable of JSON.stringify(new TestModel());
}
else {
return this.http.get("http://localhost:8080/myapp/api/model/" + uuid)
.map(res => res.text());
}
}
}
w konstruktorze komponentu ja nabywającym tak:
export class MyComponent {
testModel: TestModel;
testModelService: TestModelService;
constructor(@Inject(TestModelService) testModelService) {
this.testModelService = testModelService;
testService.fetchModel("29f4fddc-155a-4f26-9db6-5a431ecd5d44").subscribe(
data => { this.testModel = FactModel.fromJson(JSON.parse(data)); },
err => console.log(err)
);
}
}
To działa, jeśli obiekt pochodzi z server..but jestem próba stworzenia obserwowalnego, który będzie działał z danym istniejącym wywołaniem funkcji subscribe() dla statycznego ciągu znaków (dzieje się tak, gdy testModelService.fetchModel()
nie jest podany jako uuid), więc w obu przypadkach jest to płynne działanie. czy to możliwe?
To było niesamowite! Zadziałało! Próbowałem wielu rzeczy takich jak Observable.from() itp. Dokumentacja API dla Observable nie jest najczystsza/najbardziej przyjazna dla użytkownika w tym momencie! Dzięki :) –
Tak, zgodził się ;-) Operatorem 'od' jest dla tablic ... –
@ThierryTemplier Czy istnieje sposób na wdrożenie tego rodzaju zachowania przy użyciu makr Angular 2? Np. Konfigurowanie fałszywego połączenia w klasie z fałszywą odpowiedzią? – Jefftopia