1

嗨,我有一个简单的组件和一个服务。当用户单击提交按钮时,我正在调用一个服务,其中异步主题向其所有订阅者发出一个值。我已经使用主题完成了它,它工作正常,但我想使用异步来完成主题。我在这里做了一个演示http://plnkr.co/edit/tHjPVZ5NurJRWdCM9lbt?p=preview ...这是我的服务...

export class ErrorService{
  latestError:AsyncSubject<>=new AsyncSubject();

  error(){
    this.latestError.next('form submitted');
  }
}

这是我订阅 asyncsubject 的组件类

export class AppComponent { 
  result:any;
  constructor(private service:ErrorService){
    this.service.latestError.subscribe(err=> this.result=err);
  }

  onSubmit() { 
    this.service.error();
  }
}

但这是抛出错误......我不知道我在哪里做错了......有人请帮我纠正这个错误并告诉我如何使用异步主题并向其订阅者发出值

4

1 回答 1

4

您需要以这种方式包含该类:

import {AsyncSubject} from 'rxjs/subject/AsyncSubject';

@Injectable()
export class ErrorService{
  latestError:AsyncSubject<>=new AsyncSubject();
  error(){
    this.latestError.next('form submitted');
  }
}

请参阅此 plunkr:http ://plnkr.co/edit/SAl4YVXKRWpS7OeTYMrd?p=preview 。

于 2016-04-04T05:56:56.453 回答