WEBサーバにローカルなデータファイルからグラフを描画するスクリプトを作成しています。
データは数秒おきに更新されるのですが、XMLHttpRequestの非同期ファイルIOを使用すると、更新されたデータを読んでくれず、最初に読み込んだデータのままになってしまいます。
function updateChart() {
const datafile = 'xxx.txt';
var xhr = new XMLHttpRequest();
xhr.open('GET', datafile, true);
xhr.onload = function() {
var data = xhr.responseText;
<Data処理>
chart.update(data);
};
xhr.send(null);
}
同期処理にすると、更新されたファイルからデータを読み込んでくれます。
function updateChart() {
const datafile = 'xxx.txt';
var xhr = new XMLHttpRequest();
xhr.open('GET', datafile, false);
xhr.send(null);
var data = xhr.responseText;
<Data処理>
chart.update(data);
}
非同期処理がうまくいかないのはなぜでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/23 01:29