2016-07-17 5 views
2

私は、サービスを使用してデータベースや他のデータリポジトリと話すことがあると言われます。クエリが実行されている間、UIにプログレスバーを表示することができます。角度2のサービスコールの進捗状況を追跡する方法

パーセント完了をどのようにトラッキングしていますか? ありがとう

答えて

1

refer this to do it sanely with angular2 HTTPモジュールです。

import { Subject } from 'rxjs/Subject'; 
export class ProgressLoader { 
    percentage$: Subject<any>; 

    constructor() { 
    this.percentage$ = new Subject(); 
    $.ajax({ 
     type: 'GET', 
     url: 'http://google.com', 
     xhr: function() { 
     var xhr = new window.XMLHttpRequest(), 

     xhr.addEventListener("progress", (evt) => { 
     this.percentage$.next(parseInt(evt.loaded/evt.total * 100, false) + '%'); 
     }, false); 
     return xhr; 
     } 
    }); 
    } 
} 
+0

OK:

そうでなければ同じことがjQueryのでXHR progressイベントで行うことができます。ここで私の質問は、Componentのパーセンテージを管理するためにobservableを使用する必要がありますか? – arcee123

+0

@ arcee123 EventEmitterを使用して、新しいパーセンテージ値を出力し、ビューで使用するコンポーネントでそれをサブスクライブすることができます(上記の更新されたコード)。 – codef0rmer

関連する問題