Rx.Observable.Of 没有发现错误
Rx.Observable.Of error is not catched
我想 return 从 localStorage 获取令牌并捕获错误。
Observable.of(JSON.parse(localStorage.getItem('currentUser')).token)
.catch((er) => Observable.of(console.log(er))
但是它没有捕捉到它。有趣的是当我使用 try catch 方法时,我可以捕获错误
try {
return Observable.of(JSON.parse(localStorage.getItem('currentUser')).token);
} catch (er) {
console.log(er);
}
这是什么原因?希望有人指点。
谢谢
因为错误是在它的结果传递到 Observable.of
之前抛出的。这与 RxJS 无关,JS 解释器执行语句的顺序是这样的。
你可以这样做,例如:
Observable.defer(() => Observable.of(JSON.parse(localStorage.getItem('currentUser')).token))
.catch(???) // returning Observable.of(console.log(er) is probably useless
我想 return 从 localStorage 获取令牌并捕获错误。
Observable.of(JSON.parse(localStorage.getItem('currentUser')).token)
.catch((er) => Observable.of(console.log(er))
但是它没有捕捉到它。有趣的是当我使用 try catch 方法时,我可以捕获错误
try {
return Observable.of(JSON.parse(localStorage.getItem('currentUser')).token);
} catch (er) {
console.log(er);
}
这是什么原因?希望有人指点。
因为错误是在它的结果传递到 Observable.of
之前抛出的。这与 RxJS 无关,JS 解释器执行语句的顺序是这样的。
你可以这样做,例如:
Observable.defer(() => Observable.of(JSON.parse(localStorage.getItem('currentUser')).token))
.catch(???) // returning Observable.of(console.log(er) is probably useless