异步函数返回承诺对象而不是返回布尔值(reactjs Hooks)

异步函数返回承诺对象而不是返回布尔值(reactjs Hooks),reactjs,promise,react-hooks,firebase-remote-config,Reactjs,Promise,React Hooks,Firebase Remote Config,我还是一个新手,对未来充满信心。我有一个异步函数来调用firebase remoteConfig,返回值为布尔值,我将该函数放在object(menu.js组件)中,并在Sidebar.js组件中使用该对象值,但当我控制台记录“mainActivate”键时,我得到的是值Promise{:true},而不是布尔值 我不知道如何解决这个问题,下面是示例代码 对不起,我的英语不太好 用于远程配置的firebase函数 function.js export const FRemoteConfig =

我还是一个新手,对未来充满信心。我有一个异步函数来调用firebase remoteConfig,返回值为布尔值,我将该函数放在object(menu.js组件)中,并在Sidebar.js组件中使用该对象值,但当我控制台记录“mainActivate”键时,我得到的是值
Promise{:true}
,而不是布尔值

我不知道如何解决这个问题,下面是示例代码

对不起,我的英语不太好

用于远程配置的firebase函数

function.js

 export const FRemoteConfig = async (param) => {
    try{         
        const remoteConfig = firebase.remoteConfig()
        remoteConfig.settings = {
            minimumFetchIntervalMillis : 3600000
        }   
        remoteConfig.defaultConfig = ({
            'panelParam': '',
        });
       
        await remoteConfig.fetch()

        const response =  await remoteConfig.getBoolean(param)
        
        console.log(response)
        return response
     }
     catch(e){
        console.log(e)
        return(e)
     }
 }

此组件用于菜单列表。异步功能位于主激活键中。 menu.js

从“RConfig”导入{FRemoteConfig}
常量配置={
仪表板:[
{
标签:“现场”,
密钥:“db_live”,
面板:livePanel,
图标:,
儿童:[],
lightIcon:,
主激活:FRemoteConfig(“通信”)
}
]
}
渲染:如果返回值为true,则显示选项卡,否则不显示

sidebar.js

        <div className="menu-list">
          {
            // menu
          config[page].map( ({ icon, label, children, lightIcon, mainActivate}, i) => {
            console.log(mainActivate) // ----> here does not return boolean.
            return mainActivate ?  (
              <Tab
                style={{fontSize: "16px", lineSpacing: "16px"}}
                key={i}
                i={i}
                icon={icon}
                lightIcon={lightIcon}
                label={<span className="font">{label}</span>}
                children={children}
                setFilter={setFilter}
                mainActivate={mainActivate}
              />
            ) : null
          })
          }
        </div>

{
//菜单
配置[页面].map({icon,label,children,lightIcon,maintactivate},i)=>{
这里不返回布尔值。
返回main激活(
):null
})
}

您需要等待
FRemoteConfig
,可能这是
main激活:等待FRemoteConfig(“通信”)
@cglace我尝试添加它,但不幸的是,我收到错误“解析错误:无法在异步函数外使用关键字'wait'”这是否回答了您的问题?
        <div className="menu-list">
          {
            // menu
          config[page].map( ({ icon, label, children, lightIcon, mainActivate}, i) => {
            console.log(mainActivate) // ----> here does not return boolean.
            return mainActivate ?  (
              <Tab
                style={{fontSize: "16px", lineSpacing: "16px"}}
                key={i}
                i={i}
                icon={icon}
                lightIcon={lightIcon}
                label={<span className="font">{label}</span>}
                children={children}
                setFilter={setFilter}
                mainActivate={mainActivate}
              />
            ) : null
          })
          }
        </div>