当我试图将数据从
推送到数据流时observable我得到的错误是我的观察者未定义。代码如下:
@Injectable()
export class CategoryService {
public category:Subject<Category>;
public categories:Observable<Category[]>;
private categoriesObserver:any;
constructor(private authHttpService:AuthHttpService,private authService:AuthService) {
this.categories = new Observable(observer=>
{this.categoriesObserver = observer}).share();
this.category = new BehaviorSubject<Category>(null); }
getAll() {
console.log(this.categoriesObserver);
return this.authHttpService
.get('/api/categories', { headers: contentHeaders })
.map((res: Response) => res.json())
.map((data) => {
var categories = data.map((category) => {
return new Category(
category._id,
category.name,
category.description,
category.owner,
category.collaborators
);
});
this.categoriesObserver.next(categories);
return categories;
所以应用程序给出了一个错误this.categoriesObserver未定义。如果我尝试事先定义它我得到错误,next()不是一个函数。它可能是什么?
答案 0 :(得分:1)
这个错误是由于我将数据推入可观察数据而非进入可行的主体这一事实造成的。