Prompt Detail:
Đây là một ví dụ về cách sử dụng cache trong JavaScript để lưu trữ và truy xuất dữ liệu từ một API:
javascript// Lưu dữ liệu vào cache
function saveToCache(key, data) {
localStorage.setItem(key, JSON.stringify(data));
}
// Lấy dữ liệu từ cache
function getFromCache(key) {
const data = localStorage.getItem(key);
return data ? JSON.parse(data) : null;
}
// Hàm lấy dữ liệu từ API hoặc từ cache
async function fetchDataFromApi(url) {
const cacheKey = url;
// Kiểm tra xem dữ liệu có tồn tại trong cache không
const cachedData = getFromCache(cacheKey);
if (cachedData !== null) {
console.log("Data retrieved from cache.");
return cachedData;
}
// Lấy dữ liệu từ API
const response = await fetch(url);
const data = await response.json();
// Lưu dữ liệu vào cache
saveToCache(cacheKey, data);
console.log("Data retrieved from API.");
return data;
}
// Sử dụng hàm lấy dữ liệu để lấy dữ liệu từ API hoặc từ cache
fetchDataFromApi("https://jsonplaceholder.typicode.com/todos/1")
.then((data) => console.log(data))
.catch((error) => console.log(error));
Trong ví dụ này, localStorage
được sử dụng để lưu trữ dữ liệu vào cache và truy xuất dữ liệu từ cache. Hàm fetchDataFromApi
được sử dụng để lấy dữ liệu từ API hoặc từ cache bằng cách kiểm tra xem dữ liệu đã được lưu trữ trong cache hay chưa. Nếu dữ liệu đã được lưu trữ trong cache, nó sẽ được trả về. Ngược lại, nếu dữ liệu chưa được lưu trữ trong cache, hàm sẽ lấy dữ liệu từ API và lưu trữ vào cache trước khi trả về dữ liệu.
Chú ý rằng ví dụ này sử dụng async/await
để xử lý các cuộc gọi API bất đồng bộ.