пытается настроить asyncstorage для удаления, установки и удаления в одной функции действия (реагирует на родную) - PullRequest
0 голосов
/ 17 апреля 2020

Как сделать так, чтобы мой Asyncstorage мог использовать propely для удаления, установки и получения элемента одновременно, или невозможно использовать эту функцию действия для этого?

здесь мое действие в избыточном

  return async (dispacth) => {
    axios
      .get("https://s01232.periplus232.com/api/")
      .then((res) => {
        const data_id = res.data.data.data[0].devices[0].device_id._id;
        AsyncStorage.setItem("id", data_id);
        console.log("this is DEVICE_ID ", data_id);
        return dispacth(
          setdevicemeterrsucces(res.data.data.data[0].devices[0].device_id._id)
        );
      })
      .catch((err) => {
        console.log(err.res);
        return dispacth(setdevicemeterrfailure(err.res));
      });
  };
};  

export const getdevice = (data) => {
  return async (dispatch) => {
    await AsyncStorage.getItem("id")
      .then((data) => {
        dispatch(getdevicemeterrsucces(data));
      })
      .catch((err) => {
        console.log(err);
        dispatch(getdevicemeterrfailure(data));
      });
  };
};

export const removedevice = () => {
  return async (dispatch) => {
    await AsyncStorage.removeItem("id")
      .then((data) => {
        dispatch(removedevicemeterrsucces(data));
      })
      .catch((err) => {
        console.log(err);
        dispatch(removedevicemeterrfailure());
      });
  };
};

//and this is my function at my screen 

go_Navigate = async ()=>{
     this.props.dispatch(removedevice())
     this.props.dispatch(setdevice())
     this.props.dispatch(getdevice())
    this.props.navigation.navigate("Meter")
  }

моя проблема сейчас, я не могу использовать мою отправку должным образом, и мой this.props.dispacth(getdevice()) запускается первым, а отправка this.props.dispacth(removedevice()) работает в последний

...