Javascript 在一个组件中清除LocalStorage和Asyncstorage

Javascript 在一个组件中清除LocalStorage和Asyncstorage,javascript,reactjs,react-native,Javascript,Reactjs,React Native,是否可以在一个组件中清除LocalStorage和AsyncStorage? 如果显示401错误,我想清除存储器 需要为React和React Native共享此信息,是否有解决方法? 我想“捉迷藏”是行不通的。 希望有人能帮我解决这个问题 import 'whatwg-fetch'; import AsyncStorage from '@react-native-async-storage/async-storage'; async function clearMobile(){ awa

是否可以在一个组件中清除LocalStorage和AsyncStorage? 如果显示401错误,我想清除存储器

需要为React和React Native共享此信息,是否有解决方法? 我想“捉迷藏”是行不通的。 希望有人能帮我解决这个问题

import 'whatwg-fetch';
import AsyncStorage from '@react-native-async-storage/async-storage';

async function clearMobile(){
  await AsyncStorage.clear();
}

const clearWeb = () => {
  localStorage.clear();
}

export const authFetch = (originalFetch => {
  return (...args) => {
    const result = originalFetch.apply(this, args);
    return result.then(
      (response) => {
        if (!response.ok && response.status === 401) 
          try {
          clearMobile();
        }
        catch {
          clearWeb();
        }
        finally {
          window.location.reload();
        }
        return response;
      }
    );
  };
})(fetch);


export default authFetch;

如果要同时清除这两个函数,则必须在try块内使用这两个函数

这样,你就可以把它们都洗干净了。如果有bug,您将调试它

如果问题不是我所理解的,我很抱歉

    try {
      clearMobile();
      clearWeb();
    }
    catch (error) {
      console.log(error);
    }