【问题标题】:how make a useEffect async [closed]如何使useEffect异步[关闭]
【发布时间】:2021-11-02 10:25:23
【问题描述】:
  useEffect(() => {
    if (names.length !== 0) {
      createName(id);
    }
    getName(id);
  }, [names]);

这里的 createName 和 getName 函数都是一个返回 Promise 的 API 调用。

现在有时,createName 延迟导致 getName 在没有数据的情况下执行。

那么,如何使用 async await 使这个 usEffect 异步?

【问题讨论】:

标签: reactjs


【解决方案1】:

只需在useEffect 中创建一个异步函数并在之后调用它:

useEffect(() => {
  const asyncFn = async () => {
    if (names.length !== 0) {
      await createName(id);
    }
    getName(id);
  };

  asyncFn();
}, [names]);

【讨论】:

    猜你喜欢
    • 2019-12-05
    • 2021-04-14
    • 2023-03-31
    • 2019-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-20
    • 2021-01-24
    相关资源
    最近更新 更多