2017-05-10 3 views
2

난 각도 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; 
    } 

} 

이 서비스 인상 방법 cointains 예외를 갖는다. 나는 내가 오류가 발생하지 않는

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");해야합니다.


나는 ReplaySubject에 오류가 발생 할 제안하지 것이다하지만 - 그것은 당신이 원하는 경우를 제외하고 - 오류가 Subject을 마무리하고 향후 사용을 위해 사용하지 못할 및 자동 가입을 취소 할 것 같은 여기에 도달하십시오.