reactjs 调用接受从另一个异步API调用返回的承诺的异步API调用

pjngdqdw  于 2023-03-08  发布在  React
关注(0)|答案(1)|浏览(130)

我尝试使用loadsummer设置的数据到一个状态,将持有json对象返回,但当尝试调用第二个函数时,我得到未定义时,使我的API调用,但在下一次呈现它填充的状态,第二个函数更新.感谢任何指针和建议

useEffect(() => {
    try {
      if (Object.keys(results).length === 0) {
        loadSummonerData();
      }
    } catch (err) {
      console.log(err);
    }
    return function cleanup() {
      setResults({});
    };
  }, []);

   useEffect( async() => {
    try {
      if (Object.keys(results).length != 0) {
        await setStats(results.id)
    }
    } catch (err) {
      console.log("error");
    }
    return function cleanup() {
       setStats({});
    };
   }, [results]);

我尝试了几种不同的方法来实现这一点,比如使用await将第一个函数调用放在第二个函数声明中,但在mount时仍然达到未定义的状态
函数setStats应该从loadSummonerData函数设置的状态中包含的json对象中获取一个id。

bkhjykvo

bkhjykvo1#

把所有的东西放在第一个useeffect的第一个函数调用中!

相关问题