Как получить отдачу от обещания - PullRequest
0 голосов
/ 14 января 2020

Я хочу получить данные через ax ios для установки заголовка, но getAxios1 и 2 кажутся медленнее, чем возвращаемый заголовок, нужно выполнить refre sh для перезагрузки заголовка. Как сделать возвращаемый заголовок после getAxios1 и 2.

Я попытался сделать ниже код, чтобы шаг за шагом получить данные, а затем вывести заголовок, но он все еще не работает.

export const getHeader = (props: IAppProps) => {
  const promises = [];
  promises.push(getAxios1());
  promises.push(getAxios2());
  Promise.all(promises).then(d => {
  return   (<ErrorBoundary>
          <Header
          isAuthenticated={props.isAuthenticated}
          isAdmin={props.isAdmin}
          isUser={props.isUser}
          isFoPayroll={props.isStaff}
          ribbonEnv={props.ribbonEnv}
          isInProduction={props.isInProduction}
          isSwaggerEnabled={props.isSwaggerEnabled}
        />);
  });

1 Ответ

0 голосов
/ 14 января 2020
export const getHeader = (props: IAppProps) => {
  const [fetched, setFetchStatus] = useState(false);
  const [data, setData] = useState(null);
  const promises = [];
  promises.push(getAxios1());
  promises.push(getAxios2());
  Promise.all(promises).then(d => {
    setFetchStatus(true);
    setData(d);
  });

  // use data 
  return  fetched && (<ErrorBoundary>
          <Header
          isAuthenticated={props.isAuthenticated}
          isAdmin={props.isAdmin}
          isUser={props.isUser}
          isFoPayroll={props.isFoPayroll}
          ribbonEnv={props.ribbonEnv}
          isInProduction={props.isInProduction}
          isSwaggerEnabled={props.isSwaggerEnabled}
        />);

Также добавьте другое состояние для сохранения выбранных данных. Я редактировал. Надеюсь, это поможет

...