Перенаправить из асинхронной функции в реагировать? - PullRequest
0 голосов
/ 09 апреля 2019

У меня вызывается функция при отправке формы, которая выглядит примерно так:

import { API } from "aws-amplify";

export default (async function submitSite(values) {
  console.log(values);
  return API.post("sites", "/sites", {
    body: values
  })
});

После выполнения этой функции, как я могу перенаправить на другую страницу.Я пытался использовать this.props.history.push и window.location.replace() после вызова API, но ни один не работает.

Обновление

export default (async function submitSite(values) {

  try {
    await this.createSite({
      content: values
    });
    this.props.history.push("/");
  } catch (e) {
    alert(e);
  }

  createSite(site) {
    return API.post("notes", "/notes", {
      body: site
    });
  };
});

1 Ответ

0 голосов
/ 09 апреля 2019

При использовании асинхронной функции вы можете использовать await , чтобы дождаться выполнения обещания. Затем вы можете перенаправить, используя, например, this.props.history.push ('/ path').

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...