2017-11-10 1 views
1

私は角2私のコードでは、観察を書いていますが、のようなものです:observer.plex()の後にobserver.complete()を呼び出す必要がありますか?

Observable.create(observer => { 
    // fetched something from web service 
    if (some condition) { 
     observer.next('something'); 
     observer.complete(); 
    } 
    else { // error with no data 
     observer.error('something else'); 
     observer.complete(); // Is this required here? Or can I skip this in case of error() ? 
    } 
}); 

答えて

3

あなたはすでにerrorと呼ばれるので、それはとにかく何もしません、completeを呼び出す必要はありません。

ドクは言う:観察可能な契約の条項にhttp://reactivex.io/documentation/observable.html

、それが0回以上onNext呼び出すことができ、その後、それらのonCompletedかのonErrorのいずれかへの呼び出しと呼び出しではなく、両方に従うことができる、これその最後の呼び出し

になりますあなたは、ソースコードを見てすることができます

関連する問題