猿问

如何在模块导出 ReactJs 上导出 Axios 响应

我需要在 module.exports 上导出 axios 响应的结果。这是我的代码:


品牌.js


var axios = require('axios');


module.exports = (async function() {

    try {

        const { data } = axios.get('http://localhost:8000/api/v1/setting/index');

        console.log(data.data.initial);

        return {

            name: data.data.name,

            desc: data.data.description,

          };      

    } catch (err) {

        console.log(err);

      }      

})();


我尝试导入结果以用于另一个文件。这是我的代码。



import React from 'react';

const {brand} = await require("brand.js");

  

class Dashboard extends Component {   

    render(){

        const name = brand.name

        const desc = brand.description;

        return (

        <h1>{title} | {description}</h1>

        );        

    }

}  

我的代码的结果是:


Can not use keyword 'await' outside an async function

这是浏览器上显示的错误:

怎么解决这个问题呢?



白衣染霜花
浏览 116回答 1
1回答

holdtom

你可以这样做。// brand.jsimport axios from 'axios';export const fetchData = async () => {&nbsp; let response;&nbsp; try {&nbsp; &nbsp; response = await axios.get(url, config);&nbsp; } catch (e) {&nbsp; &nbsp; // catch error&nbsp; &nbsp; throw new Error(e.message)&nbsp; }&nbsp; // if success return value&nbsp; return response?.data ? response?.data : null // or set initial value}然后在你的 React 中import { fetchData } from './path/to/fetchData';const response = fetchData();const MyComponent = (props) => {&nbsp; return (&nbsp; &nbsp; <div>name: {response.data.name} | desc: {response.data.description}</div>&nbsp; )}
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答