如何一次从多个URL提取数据useffect和promise.all

问题描述

我有一个从React中的端点获取函数


        protected override void OnPaint(PaintEventArgs e) {
            ControlPaint.DrawBorder(e.Graphics,this.ClientRectangle,Color.White,1,ButtonBorderStyle.solid,2,ButtonBorderStyle.solid);
        }

这只是在自动完成时显示值。

我还希望能够从此端点获取数据

  useEffect(() => {
    async function onLoadCreateUnitTests() {
      const results = await get('get_tables_autocomplete/b',user.user)
      autoComplete.setTablesAutoComplete(results)
    }

    onLoadCreateUnitTests()

  },[])

我也尝试使用promise.all,我想将所有测试类型存储在一个数组中。

解决方法

Promise.all接受一个promise数组,并返回一个promise,当该数组中的所有promise都解析时,该promise将解析为解析值的数组。然后,您可以像这样等待外部承诺:

const [result1,result2] = await Promise.all([
  get('get_tables_autocomplete/b',user.user),get('/api/get_all_test_types')
]);