小编Tha*_*raw的帖子

如何解决Promise未决的问题

我目前正在尝试使受保护的路由功能做出反应。我希望这result将返回一个布尔值而不是一个承诺而不更改ProtectedRouteasync

 import React from "react";
    import { Redirect, Route } from "react-router-dom";
    import { CheckToken } from "./RequestAction"
    
    function ProtectedRoute({ component: Component, ...restOfProps }) {
    
      const result = (async () => {
        const res = await CheckToken() 
        return res;
      })()
     
      console.log(result); //log-> Promise {<pending>}[[Prototype]]: Promise[[PromiseState]]: "fulfilled"[[PromiseResult]]: false
      return (
        <Route
          {...restOfProps}
          render={(props) =>
            result ? <Component {...props} /> : <Redirect to="/login/" />
          }
        />
      );
    }
    
    
    export default ProtectedRoute; 
Run Code Online (Sandbox Code Playgroud)

这是CheckToken函数:

 import axios …
Run Code Online (Sandbox Code Playgroud)

javascript async-await reactjs

2
推荐指数
1
解决办法
72
查看次数

标签 统计

async-await ×1

javascript ×1

reactjs ×1