【问题标题】:React Native exporting asynchronous function into a componentReact Native 将异步函数导出到组件中
【发布时间】:2020-11-26 04:15:31
【问题描述】:

我正在尝试将此函数 axiosWithToken 导出到我的组件中,这样当我调用“axiosWithToken”时,它将返回 axios.create 对象,以便我可以从中构建我的 axios 请求的其余部分。但是,它没有按预期工作,但没有给出任何错误。如果我删除这个文件并将其放入组件中,它就可以工作。下面是我的组件文件,为了便于阅读,我将其最小化。其他异步函数也发生在我身上,所以我很好奇我做错了什么。

import axiosWithToken from './axiosWithToken'
const response = axiosWithToken.get(....)

这是 axiosWithToken 文件

import axios from 'axios';
import AsyncStorage from '@react-native-async-storage/async-storage';
import { useState } from 'react';

const axiosWithToken = async () => {
  const [token, setToken] = useState('');
  try {
    const value = await AsyncStorage.getItem('@token');
    setToken(value);
    console.log(token);
  } catch (e) {
    // error reading value
    console.log('error getting value');
  }

  return axios.create({
    baseURL: 'http://10.0.2.2:3000',
    headers: {
      'Content-Type': 'application/json',
      Authorization: `Bearer ${token}`,
    },
  });
};

export default axiosWithToken;

【问题讨论】:

    标签: javascript react-native asynchronous axios


    【解决方案1】:

    您正在尝试从不等待的异步函数中获取值?

    const response = axiosWithToken.get(....)
                    ^
                  await
    

    【讨论】:

      猜你喜欢
      • 2023-03-03
      • 1970-01-01
      • 1970-01-01
      • 2017-08-13
      • 1970-01-01
      • 2020-03-26
      • 2022-01-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多