鍍金池/ 問答/HTML5/ 求一個簡單的ng2 http請求方法?

求一個簡單的ng2 http請求方法?

小白入門,求一個簡單的ng2 http請求方法

希望能把模塊和引入變量都給我列舉出來,謝謝謝謝

回答
編輯回答
玄鳥
import { Observable } from 'rxjs/Observable';
import { Injectable } from '@angular/core';
import { HttpEvent, HttpInterceptor, HttpHandler, HttpRequest, HttpResponse } from '@angular/common/http';
import 'rxjs/add/observable/throw';
import 'rxjs/add/operator/do';
import 'rxjs/add/operator/catch';
import { environment } from '../../environments/environment';

@Injectable()
export class DemoHttpInterceptor implements HttpInterceptor {
    constructor() {}

    public intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<Result<any>>> {
        req = req.clone({
            url: `${environment.base}${req.url}`
        });
        // 記錄請求時間
        const started = Date.now();
        // 返回下一個中間件做更多處理
        return next
            .handle(req)
            .do((event: HttpEvent<any>) => {
                if (event instanceof HttpResponse) {
                    // 打印請求耗時
                    const elapsed = Date.now() - started;
                    console.log(`Request for '${req.urlWithParams}' took ${elapsed} ms.`);
                }
            })
            .catch((res: HttpResponse<any>) => {
                switch (res.status) {
                    case 401:
                        break;
                    case 404:
                        break;
                    case 500:
                    case 502:
                        break;
                }
                // 拋出錯誤結(jié)束請求
                return Observable.throw(res);
            });
    }
}
2017年8月25日 00:03