【发布时间】:2020-10-24 02:29:30
【问题描述】:
在初始化 React 应用程序之前,我会在 localStorage 中获取用户信息。然后,感谢他的 id,我开始与服务器建立套接字连接。
将用户的 id 传递给套接字函数时,typescript 声称:
“Promise”类型的参数不能分配给“字符串”类型的参数
这是我的 index.tsx 文件:
const user = fetchUser();
if (user) {
getNotifications(user);
}
ReactDOM.render(
<App />,
document.getElementById("root")
);
还有 fetchUser() 函数:
export async function fetchUser() {
try {
if (!localStorage.getItem("MyAppName")) return null;
const user = await jwt_decode(localStorage.MyAppName);
updateUser(user);
return user.id;
} catch (err) {
return null;
}
}
如何解决这个问题?如果我删除 async/await 它可以工作,但在性能方面,可以在初始化应用程序之前像这样阻塞线程吗?
【问题讨论】:
-
“这样阻塞线程”是什么意思?
标签: reactjs typescript asynchronous promise