我有一个简短的问题。惯性渲染异步吗?
我意识到,一旦我删除了一个数据库条目,而我连接到新的导航链接直接(Inertia.onStart)-它将我重定向到另一个页面,更改(onSuccess)将不会显示。
Inertia.post('data-delete', {
id: this.meeeh.data[index].id,
}, {
preserveScroll: true,
onBefore: () => {
window.Toast.confirm('Delete?');
},
onStart: (visit) => {
window.Toast.load('Delete...');
},
onSuccess: (page) => {
return Promise.all([
window.Toast.success(page.props.toast),
/** Wont show after click another Link in Navbar */
])
},
onError: (errors) => {
window.Toast.error(errors);
}
});这是怎么回事,我必须等到这个过程完成-否则我的页面不能正常工作?
发布于 2021-09-07 15:30:44
不知道我是否明白你在找什么。
onSuccess在post请求完成并成功后立即运行。它与其他链接是完全分离的,它的目的(如果您从它返回一个Promise )是延迟onFinish处理程序的执行。
从文档中:
也可以从onSuccess()和onError()回调中返回promise。这将延迟"finish“事件,直到promise得到解决。
我也相信你的代码中有一些问题:Promise.all应该接收一个数组os Promises,我很确定window.Toast.success(page.props.toast)不会返回一个数组,对吗?
所以..。很有可能你的Promise.all永远不会解析。
https://stackoverflow.com/questions/69090653
复制相似问题