jQuery location.reload()方法没执行完,后面的代码就先执行了,使用回调函数或者Promise都不行,怎么解决
时间: 2023-11-14 17:04:57 浏览: 192
由回调函数、Promise到async/await的同步写法执行异步代码
5星 · 资源好评率100%
在使用 `location.reload()` 方法时,页面会重新加载,所有正在执行的代码都会被中断,然后重新加载页面。因此,无法在 `location.reload()` 方法后立即执行代码。
如果想要在页面重新加载完成后再执行代码,可以使用 `window.onload` 事件。这个事件会在页面完全加载完成后触发,可以在这里执行你需要的代码。
例如,你可以这样写代码:
```javascript
function reloadPage() {
location.reload();
window.onload = function() {
// 在页面重新加载完成后执行的代码
};
}
```
当然,这个方法也有一定的局限性,因为它只会在页面第一次加载时触发。如果你需要在页面后续的刷新中执行代码,可以考虑使用 WebSocket 或者长轮询等技术来实现。
阅读全文