请问怎么拿到promise.all的loading?

ahooks 的useRequest能实现吗?
umi或者ahooks有什么api可以实现同时发起多个请求并拿到loading?
谢谢大佬们!

阅读 3k
1 个回答

你所提到的ahooks的useRequest就可以实现。

function fakeAsyncRequest(delay: number) {
  return new Promise<string>((res) => {
    setTimeout(() => {
      res("request finish");
    }, delay);
  });
}

export default function App() {
  const { data, error, loading } = useRequest(() => {
    return Promise.all([fakeAsyncRequest(1000), fakeAsyncRequest(5000)]);
  });
  return (
    <div className="App">
      <h1>{loading?'loading':'ok!'}</h1>
      {data}
    </div>
  );
}

其中loading类型为boolean,表示请求是否完成。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题