2017-08-07 26 views
2

私はこのコードを持っている:HTTP接続を閉じるにはどうすればいいですか?

this.http.get(url) 
.subscribe(
    data => { 

    }, 
    error=>{ 

    } 
) 

私はHTTP接続を閉じることができますどのように?

+0

閉じるとはどういう意味ですか? –

+0

@Keerthi、接続はオープンですが暗黙的です。私の答えを参照してください –

+0

私の悪い。それを指摘してくれてありがとう。間違ったコメントを削除する。 – Keerthi

答えて

4

あなたはそれがJavaで行われているようなものにアナログの話をしている場合:

//Create connection 
URL url = new URL(targetURL); 
connection = (HttpURLConnection) url.openConnection(); 
... 
connection.disconnect(); 

、あなたはそれを行う必要はありません。 AngularはHTTP要求を行うためにXHR browser APIを使用します。このAPIは、明示的に接続を開いたり閉じたりする必要はありません。要求が送信され、応答が取得されるか、タイムアウトを超えた場合に自動的に行われます。

また、明示的にそれ自体でthis.http.get完了によって返された観察可能なことから、観察から退会する必要はありません。あなたがhttp.get()を行う際

export class XHRConnection implements Connection { 
    ... 
    response: Observable<Response>; 
    constructor(req: Request, browserXHR: BrowserXhr, baseResponseOptions?: ResponseOptions) { 
     this.request = req; 
     this.response = new Observable<Response>((responseObserver: Observer<Response>) => { 
      ... 
      // load event handler 
      const onLoad =() => { 
       ... 
       const response = new Response(responseOptions); 
       response.ok = isSuccess(status); 
       if (response.ok) { 
        responseObserver.next(response); 
        responseObserver.complete(); <-------------------- 
        return; 
       } 
       responseObserver.error(response); 
      }; 

XHRConnection内に作成され、観察は、あなたが受け取る観測可能である。ここでは、関連する情報源です。

+1

ty u man、情報ありがとうございます;) – Mars

関連する問題