$("#calc_hint_small").show();
$("#content").empty();
$(".accordion").empty();
目的是第一句话先执行完,再执行后面的语句,目前是第一句话还没执行,后面都执行完了
有什么办法吗
$("#calc_hint_small").show()
你指的是某个dom显示还没完全然后剩下的命令又开始执行了是吗,两种方法。
new Promise((resolve, reject) => {
$("#calc_hint_small").show();
if ("判断它显示完全的条件写在这里") {
resolve();
}
}).then(() => {
$("#content").empty();
$(".accordion").empty();
});
new Promise((resolve, reject) => {
$("#calc_hint_small").show();
setTimeout(() => {
resolve();
}, 1000);
}).then(() => {
$("#content").empty();
$(".accordion").empty();
});
js Promise与async/await用法详解:https://blog.csdn.net/weixin_43877799/article/details/121536943
得看看具体的方法,如果show()方法里有调异步的接口(比如异步ajax),那么就会出现前面的没走完就会走后面的
async ,await . promise都可以 。没有异步 的情况下 就是 自上而下执行
1.使用callback方法里面去调用下面方法, show 函数执行完之后,要执行的函数
语法$ ("#calc_hint_small").show(speed,callback)
2.使用定时器包裹后执行的