如何在Angular2服务中创建初始Observable <t>

时间:2016-04-11 06:35:32

标签: service angular observable

我目前正在尝试从Angular2中的服务返回一个observable。如果您查看以下代码,如果我取消注释构造函数中的行,一切正常,服务的使用者不会中断。但是当我尝试从构造函数中删除调用时,它崩溃了: 错误:加载http://localhost:3847/rxjs/observable

时出现XHR错误(404 Not Found)

我相信它正在尝试在初始化之前订阅todo $属性。那么我怎样才能创建一个不会立即实际调用get方法的初始观察者?也就是说,我需要某种空的Observer来阻止订阅线掉线。

我该如何实现这个目标?

import {Injectable} from 'angular2/core';
import {Http} from 'angular2/http';
import {Todo} from './todo';
import {Observable} from 'rxjs/observable'

@Injectable()
export class TodoService {

    public todos$: Observable<Todo[]>;

    constructor(private http: Http) {

        //this.todos$ = this.http.get('api/Todo').map(res => <Array<Todo>>res.json());
    }

    loadData() {
        this.todos$ = this.http.get('api/Todo').map(res => <Array<Todo>>res.json());
    }

}

0 个答案:

没有答案