APIから常にデータを取得している棒グラフを更新する適切な方法を探しています。
$http({
method: 'GET',
url: '/data' //getting data from API
}).then(function ( json ) {
//chart
}
プランカーにも同様の状況がありますが、この方法ではメモリリークが発生するのではないかと心配しており、チャートは常に点滅しています。
間隔の代わりに何を使用するかについて誰かが提案を持っていますか?または他の方法でそれを使用しますか?
ありがとう。
そのプランカーは素晴らしいですが、問題はそれがc3.generate
継続的に呼び出されることです。それがメモリリークとフラッシュを引き起こしている理由です(実行するたびに基本的に新しいC3チャートインスタンスを作成していますgenerate
;それが行うのはすべて呼び出されますnew Chart(config);
)
あなたがする必要があるのは、コントローラーでC3をインスタンス化してから、呼び出しc3.load()
を$http
呼び出すことです。
キービット:
$interval(function() {
$http.get('chartData.json')
.then(function(json) {
$scope.countries = formatData(json.data); // format received data
$scope.chart.load({json: $scope.countries, keys: { value: ['Croatia', 'Belgium', 'Argentina'] }});
});
}, 1000);
$interval+$http
コンボは、JSONファイルあなたしているロードがちょうどCDNのどこか(それはREST APIによってリクエストごとに生成されていた場合、あなたはどちらか絞られたり、サーバーをすすぎますよ)であること。提供、大丈夫動作するはずです $ httpのキャッシングドキュメントをご覧になることをお勧めします。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加