2017-05-10 10 views
2

私は、このサービスは、例外を発生させるための方法をcointains角度2サービスRxJsどのようにReplaySubjectで例外が発生するのですか?

import * as localforage from "localforage"; 
import { ReplaySubject } from 'rxjs/ReplaySubject'; 

@Injectable() 
export class CommentService { 
    private localForage = require("localforage"); 

    addComment (myvalue: string): Observable<Comment[]> { 
     var reply:ReplaySubject<any> = new ReplaySubject(1); 
     localforage.setItem(that.key, that.elencoCommenti).then(function (value) { 
      //throw new Error("Value cannot be 3"); 
      reply.throw(Error('Error2'));   
      //    reply.next(value); 
      //    reply.complete(); 
     }); 
     return reply; 
    } 

} 

を持っています。 登録しようとすると

submitComment(){ 
    // Variable to hold a reference of addComment 
    let commentOperation:Observable<string>; 

    commentOperation = this.commentService.addComment(this.model) 

    // Subscribe to observable 
    commentOperation.subscribe(
          comments => { 
           console.log('ok:'); 
           console.log(comments); 
          }, 
          err => { 
           // Log errors if any 
           console.log('error:'); 
           console.log(err); 
          }); 
} 

私はエラーメッセージを受け取りません。 ReplaySubjectで例外を発生させるにはどうすればよいですか?

答えて

5

reply.error("some error");とする必要があります。何らかのエラーがSubjectを確定し、将来の使用のためにそれが使用できなくなると、自動的にすべての加入者を退会されますでしょうとして - - それはあなたがする欲しいものでない限り、私はReplaySubjectにエラーをスローするようにあなたを示唆していますが


ここで達成する。

関連する問題