Ajax でデータを取得したらキャッシュが効いてて更新されない時の対応

Ajax でデータをやりとりしていて取得したデータが更新されていないパターンがあった。
ログを見ると、どうやらキャッシュが効いてて新しくデータを取得せずに、キャッシュからデータを引っ張ってきていた。
下記記事のとおりなんだけど、パラメータにタイムスタンプを追加することで解決する。

サンプルコード

  • Http クライアントは axios を使用。
import axios from 'axios'

class Api {

	constructor() {

	}

	/**
	 * endpoint: string
	 * param: object|null
	 * callback: function(error int|null, message string, data object|null)
	 */
	get(endpoint, params, callback) {

		let sendParams = (params == null) ? {} : params

		// キャッシュが効いている場合があるので、パラメータにタイムスタンプを追加する。
		// そうすることで常に新しいデータを取得する。
		sendParams.timestamp = new Date().getTime()

		axios({
			method: 'get',
			baseURL: 'https://api.xxxxxxxx.sample',
			url: endpoint,
			params: sendParams,
		})
			.then((response) => {
				// handle success
				callback(null, 'success', response.data)
			})
			.catch((error) => {
				// handle error
				if (error.response) {
					callback(error.response.status, error.message, error.response.data)
					return
				}
				// 503: Service Unavailable
				callback(503, error.message, null)
			})
			.then(() => {
				// always executed
			})
	}
}