簡體   English   中英

注入和使用 Http Angular2

[英]Injecting and using Http Angular2

我有一個應該調用 api 並返回結果的服務類:

import {Component, View} from 'angular2/angular2';
import { Inject} from 'angular2/di';
import {Http} from 'angular2/http';

var httpMap = new WeakMap<ScheduleService, Http>();
export class ScheduleService {
    meetings: Array<any>;
    http: any;

    constructor(@Inject(Http) http:Http){
        httpMap.set(this, http);
        this.http = http;

        //http.get('/api/sample')
        //   .map(response => response.json())
        //   .subscribe(data => {
        //      this.serverData = data;
        //      });
    }

    getMeetings(){
        var path = '/api/meetings/';
        return httpMap.get(this).get(path);
    }

}

服務類被正確調用和注入。 我遇到的問題是,當我調用getMeetings方法時,它永遠不會向/api/meetings發出請求。 如果你們注意到在構造函數中有一個對/api/sampleget請求,如果我取消注釋它並運行程序,我檢查我的network選項卡,我可以看到請求已經發出,它可以完美地工作。

看起來http.get(path)不會發送請求,除非你調用http.get(path).subscribe(); 即使你沒有對響應做任何事情。

Plunker: https ://plnkr.co/edit/b1fxoIUy31EHTC84U344 ? p = preview

在 Plunker 中,打開控制台中的網絡視圖,然后單擊With Subscribe / Without Subscribe按鈕進行比較。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM