私は私のajax呼び出しに基づいて塗りつぶす正確なプログレスバーを作ろうとしています。角2.0プログレスバーを作成するためにBrowserXhrを拡張する方法は?
This助けられましたが、おそらく書かれてから少し変わったと思います。
だから、私はBrowserXhrをovverrideするために私のアプリモジュール・プロバイダーに追加した私のCustomBrowserXhr持っている: - :
- 私は、他のコンポーネントが購読することができ、非常に基本的な進行状況のサービスを持っている@Injectable()
export class CustomBrowserXhr extends BrowserXhr {
constructor(private service: ProgressService) {}
build(): any {
let xhr = super.build();
xhr.onprogress = (event) => {
console.log(event, "event inside browser override");
this.service.progressEventObservable.next(event);
};
return <any>(xhr);
}
}
を
私はhttpコールを発信できると思っていましたが、コンソールログの「ブラウザ内オーバーライドイベント」が表示されることがありましたが、「例外:browserXHR.buildは関数ではありません」というエラーが表示されます。誰かが何らかの光を当てることができますかここで間違っているのはどうですか?
ありがとうございます。
解決策を見つけられましたか? – kmansoor
@kmansoor申し訳ありませんが、私は期限があったので、私は上に移動したので、それは素晴らしいことでした。あなたがそれをクラックすれば教えてください:) –
本当にありがとう、 'ProgressServcie'が正しくCustomBrowserXhrのコンストラクタに注入されたかどうか教えていただけますか?私は同様の設定をしていますが、ProgressServiceの注入は失敗しています。どうも。 – kmansoor