2
httpを呼び出し、Observableをユーザーの詳細で返す関数があるとします。エラーを出すObservableを呼び出す方法
ユーザーが存在しない場合、エラーを出力するObservableを返します。
// Get user by id
function getUser(id) {
return Rx.Observable.create(obs => {
if (id === 1) {
obs.next('200 - User found');
obs.complete();
} else {
obs.error('404 - User not found');
}
});
}
// This will print "200 - User found" in the console after 2 seconds
getUser(1)
.delay(2000)
.subscribe(r => console.log(r));
// !!! Delay will not work here because error emmited
getUser(2)
.delay(2000)
.subscribe(null, e => console.log(e));
エラーを発する観察可能遅延する方法はありますか?
なぜそれを遅らせますか? –
成功してもなくても(応答が長すぎるとアプリがどのように動作するかをテストするために)APIのすべてのhttpリクエストを遅らせたい場合 –
テストを書いていますか?あなたは通常、長い要求をエミュレートするブラウザのネットワークタブ抑制機能を使用する必要があります –