首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Axios,aynsc/等待和打字记录,我不知道这种情况

使用Axios,aynsc/等待和打字记录,我不知道这种情况
EN

Stack Overflow用户
提问于 2022-04-03 05:58:16
回答 1查看 587关注 0票数 0

我使用axios响应创建了工作流列表,但是出现了错误。

代码语言:javascript
复制
Argument of type 'Promise<unknown>' is not assignable to parameter of type 'SetStateAction<WorkflowForReactFlowProps[] | null>'.

这个Axios代码

代码语言:javascript
复制
export const requestWorkflows = async () => {
  try {
    const response: AxiosResponse = await axios.get(`${baseUrl}/workflows`);
    const workflows = formatWorkflows(response.data.workflows);
    return workflows;
  } catch (error) {
    return error;
  }
};

此状态和useEffect代码

代码语言:javascript
复制
const [workflows, setWorkflows] =
    useState<Array<WorkflowForReactFlowProps> | null>(null);

  useEffect(() => setWorkflows(requestWorkflows()), []);

为什么会发生这个错误?解决办法是什么?

EN

回答 1

Stack Overflow用户

发布于 2022-04-03 06:20:25

异步函数总是返回一个承诺。你可以从这里上看到它。要使代码正常工作,需要更改以下行:

代码语言:javascript
复制
    const workflows: WorkflowForReactFlowProps[] | null = formatWorkflows(response.data.workflows);
代码语言:javascript
复制
useEffect(async () => setWorkflows((await requestWorkflows())), []);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71723372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档