在 JavaScript 中在该函数内完全调用 API 后,如何返回值?

问题描述

我知道有很多相同的问题,但我没有在那里得到解决方案,所以在这里再次解释我的情况。

我在我的项目中使用 ReactJS 并且我创建了一个 auth.js,我需要在其中检查客户端(浏览器)是否已登录,以及支持来自服务器。

这是我调用 API 的函数

  isAuthenticated() {
    api.checkAuthentication().then(res=>{
        if(res.data.resCode == '200'){
            this.authenticated = true;
        }else{
            this.authenticated = false;
        }
    })
     return this.authenticated;
}

我是从另一个这样的js文件调用这个函数

import auth from './auth';
export const ProtectedRoute = ({ component: Component,...rest }) => {
return (
    <Route {...rest} render={

        (props) => {
            if(auth.isAuthenticated()){
                return <Component {...props} />
            }else{
                return <Redirect to={
                    {
                        pathname:"/login",state:{
                            from:props.location
                        }
                    }
                } />
            }
            
        }
    } />
 )
}

但是 returnapi 响应之前被调用

请告诉我是否有任何方法可以实现这一目标?

提前致谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)