Open1
【定期実行/バックグラウンド処理】フロントエンドのポーリング処理について📝

フロントエンドのポーリング処理について📝
フロントエンドでのポーリング実装は、サーバーからデータが更新された際に、フロントエンドを自動的に更新するために使用されます。
具体的には、一定時間間隔でサーバーにリクエストを送り、レスポンスのデータをチェックし、変化があればフロントエンドに反映させるという仕組みです。
// ポーリング関数
function polling(interval, endpoint, callback) {
let lastData = null; // 前回のデータを保存する変数
// ポーリング関数を呼び出す関数
function checkData() {
fetch(endpoint)
.then(response => response.json())
.then(data => {
// レスポンスのデータが変化した場合は、コールバック関数を実行
if (JSON.stringify(data) !== JSON.stringify(lastData)) {
lastData = data;
callback(data);
}
// 次のポーリングを実行
setTimeout(checkData, interval);
})
.catch(error => {
console.error("Error during polling:", error);
// エラーが発生した場合、再試行する
setTimeout(checkData, interval);
});
}
// 初回のポーリングを開始
setTimeout(checkData, interval);
}
// ポーリングを開始する
polling(5000, "/api/data", function(data) {
// データの更新処理
console.log("Received new data:", data);
// 例: HTML要素のテキストを更新
document.getElementById("dataDisplay").textContent = JSON.stringify(data);
});