【问题标题】:Catch error after promise initialize warning in unit test在单元测试中承诺初始化警告后捕获错误
【发布时间】:2021-07-14 09:15:47
【问题描述】:

当我开始测试时会出现警告:

警告:测试内部的更新未包含在 行动(...)。

它是由捕获错误引起的:

 const getPeople = () => {
    const url = "https://api";
    axios(url)
      .then((res) => {
        setPeople(res.data.results);
      })
      .catch(function () {
        setError(true);
      });
  };

如果我删除catch,一切正常,但我想拥有它,有没有办法做到这一点?

【问题讨论】:

    标签: reactjs jestjs


    【解决方案1】:

    你可以试试这个

     const getPeople = () => {
        const url = "https://api";
        await axios.get(url)
          .then((res) => {
            setPeople(res.data.results);
          })
          .catch(err => {
            setError(true);
          });
      };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多