我想首先显示一条消息,然后重定向我的页面:
toastr.success('Your report has been submitted successfully.');
window.location = '/Report';
但上面的代码允许两个语句同时运行。结果,重定向发生在显示toastr消息之前,这需要时间..
对于这种情况,我们是否有类似$.when(...).done(...)
的内容?
---更新---
如果有人不知道toastr,则它是一个在网页上显示消息的库。
当然设置一个计时器将起作用。但是,有没有任何优雅的方法可以在第一个语句完成后运行第二个语句?
答案 0 :(得分:4)
您可以使用setTimeout:
toastr.success('Your report has been submitted successfully.');
setTimeout(function(){window.location = '/Report';}, 2000);
答案 1 :(得分:0)
您可以将函数作为回调传递,以在函数完成后执行。请参阅此类似问题的所选答案:How should I call 3 functions in order to execute them one after the other?