非同期サービスに戻り値がありませんがObservablesを使用する場合は、Observable<boolean>
を使用する傾向があります。しかし、このブール値の意味はありません。なぜなら、サービスが失敗したり成功したりするためです。失敗した場合、Observableをエラー状態にします。これは、観測されたブール値に対して「真の」値のみを残します。Observable <void> Typescriptの使用パターン
Observable<void>
のこのような使用は、これらの状況に適したパターンですか?またはObservable<void>
const asyncFuncWithoutResult =(): Observable<void> => {
// fake something async that has no return value
const itWorked = true; // or not
if (itWorked) {
return Observable.of();
} else {
return Observable.throw(Error('It did not work'));
}
}
// call the service
asyncFuncWithoutResult()
.subscribe(
undefined, // nothing will be emitted when using Observable.of()
(err: any) => console.error(err), // handle error state
() => console.log('Success'), // handle success state
);
私はいずれかを見ることができません明白な問題。任意の値を出力する必要がある状況に遭遇した場合は、いつでも 'concat'と' Observable.of'を使用して任意の値を出力できます。例えば。 'asyncFuncWithoutResult()。concat(Observable.of(" success! "))'です。 – cartant
Thx、これは非常に便利なチップです。 – Halt