0
我可以使用window.navigator.onLine
獲得連接狀態,並使用下面提到的HttpInterceptor,我可以全局訪問請求。但是,我如何取消HttpInterceptor內的請求?或者還有更好的方法來處理這個問題嗎?以角度4全局捕獲請求並在沒有互聯網時停止
import { Injectable } from '@angular/core';
import {
HttpRequest,
HttpHandler,
HttpEvent,
HttpInterceptor
} from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
@Injectable()
export class InternetInterceptor implements HttpInterceptor {
constructor() { }
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
//check to see if there's internet
if (!window.navigator.onLine) {
return //cancel request
}
//else return the normal request
return next.handle(request);
}
}
您可以使用request.unsubscribe();來阻止http請求。 – Amit
你必須在每個地方都做這個問題 –