在等待反应之后初始化stat

时间:2017-10-17 10:41:19

标签: javascript reactjs

我有一个异步提交功能,可以将数据发送到服务器。现在我想每当提交的用户留在这个页面,但状态回到初始形式。 这是我的代码:

afterLoad: function( instance, current ) {
    alert( current.opts.$orig.attr("id") );
}

我希望在发送休息请求状态后再次初始化;不是在那之前。 我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

您是否尝试过使用then() Promise方法?

  

then()方法返回Promise。它最多需要两个参数:Promise的成功和失败案例的回调函数。

这意味着您可以:

save = async () => { 
  ....
  await rest.post('some_where', {data}).then(() => {
    this.setState({cart: [], selectedItems: []});
  });
}

如果事情发生了变化,你的承诺失败了,你可以做另一套逻辑。也许在您的UI上显示:

save = async () => { 
  ....
  await rest.post('some_where', {data}).then(() => {
    this.setState({cart: [], selectedItems: []});
  }, () => {
    console.error("Post failed!");
    this.setState({didFail: true});
  });
}

答案 1 :(得分:0)

post call返回一个promise,你需要添加一个resolver回调,然后你可以调用setState({})方法。在您的情况下,setState方法将没有来自服务器的更新数据。