从异步功能重定向反应?

时间:2019-04-09 10:59:52

标签: reactjs async-await

提交表单时我会调用一个函数,如下所示:

import { API } from "aws-amplify";

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

完成此功能后,如何重定向到另一个页面。我已经尝试在api调用后使用this.props.history.pushwindow.location.replace(),但都无法使用。

更新

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 :(得分:0)

使用异步功能时,您可以使用await等待诺言得到解决。然后,您可以使用this.props.history.push('/ path')进行重定向。