0
var bar = Observable.create(function(observer){
try{
console.log('hello');
observer.next(22);
throw new Error('bad bad bad');
setTimeout(function(){
observer.next(300);
observer.complete();
},2000);
}catch(e){
observer.error(e);
}
});
bar.subscribe(
function nextValueHandler(x){
console.log(`out in handler${x}`);
},
function errorHandler(err){
console.log('is wrong'+err);
},
function completeHandler(){
console.log('over');
}
);
私はangular2プロジェクトでrxjs api 5.0を使用しています。このコードは 'Unreachable code detected'というエラーになります。しかし、 'setTimeout ...'の中で '新しいエラーをスローする'を作成した場合、それ以前に 'setTimeout ...'に 'theow error ...'を作成できないのはなぜですか?angular2プロジェクトrxjs observableエラー
わかりません。あなたが '新しいエラーを投げる 'ため、次の行には決して到達しません。したがって、 "*到達不能コード*"警告 – BeetleJuice
コードは 'setTimeout()'に到達できません。条件なしでエラーをスローすると、常にスローされ、エラー以下のものはすべて実行されません。 –