Saya perlu memuat semula token Spotify setiap jam dalam aplikasi React (Token Spotify sah selama 1 jam). Saya tahu kaedah berikut menggunakan useEffect dan setInteral
useEffect(() ==> { selang const = setInterval(() => { //Panggil logik API }, 3600); return () => clearInterval(selang); }, [pengguna])
Tetapi apabila apl ditutup dan dibuka semula, ia membuat permintaan baharu sekali lagi untuk mendapatkan token (walaupun token lama masih sah). Jadi saya cuba melaksanakan fungsi yang memerlukan panggilan API untuk mendapatkan token baharu berdasarkan baki masa tamat tempoh. Bagaimana untuk melaksanakan fungsi ini.
Saya juga mencipta fungsi yang mengira baki masa tamat tempoh selepas masa berlalu
export const calculateRemainingExpirationTime = expirationTime => const currentTime = new Date().getTime(); const newExpirationTime = new Date(expirationTime).getTime() const remainingTime = newExpirationTime - currentTime kembali bakiMasa; //dalam milisaat };
Jadi apabila halaman dimuat semula, saya perlu mengira baki masa tamat tempoh dan kemudian memanggil API berdasarkan masa itu dan kemudian memanggil API setiap 1 jam untuk mendapatkan token baharu.
Saya perlu melaksanakan fungsi berikut
Anda perlu berjimat
过期时间
持久化到localStorage
或使用Redux-persist