我有一个异步提交功能,可以将数据发送到服务器。现在我想每当提交的用户留在这个页面,但状态回到初始形式。 这是我的代码:
afterLoad: function( instance, current ) {
alert( current.opts.$orig.attr("id") );
}
我希望在发送休息请求状态后再次初始化;不是在那之前。 我怎么能这样做?
答案 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方法将没有来自服务器的更新数据。