Tôi gặp một dịch vụ mà có phương pháp này:Làm thế nào để tạo ra một Observable từ dữ liệu tĩnh tương tự như http một trong 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());
}
}
}
trong constructor của thành phần Tôi đăng ký như thế này:
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)
);
}
}
này hoạt động nếu một đối tượng xuất phát từ server..but Tôi cố gắng để tạo ra một quan sát mà sẽ làm việc với các cuộc gọi hiện tại() gọi cho một chuỗi tĩnh (điều này xảy ra khi testModelService.fetchModel()
không được đưa ra một uuid) để có xử lý liền mạch trong cả hai trường hợp. Điều này có thể không?
Điều đó thật tuyệt vời! Nó đã làm việc! Tôi đã thử nhiều thứ như Observable.from() vv .. Tài liệu API cho Quan sát không phải là tài liệu thân thiện nhất/thân thiện nhất vào thời điểm này! Cảm ơn :) –
Có, đã đồng ý ;-) Toán tử 'from' là dành cho mảng ... –
@ThierryTemplier có cách nào để thực hiện loại hành vi này bằng cách sử dụng mâm cặp Angular 2 không? Ví dụ: thiết lập kết nối mô phỏng trong lớp học, với phản hồi giả? – Jefftopia