Jquery异步假死

Bob_pang
  • 26
$.ajaxSettings.async = false;
updateData();
$.post("./api/api.php?do=home", function(data) {
    $("#home_wating_send").text(data.data.wating_send);
}, 'json');
$.ajaxSettings.async = true;

有没有好的解决方案
如果不开启异步,每次打开页面就会出现假死的状态。等数据返回完了,才可以正常操作。
因为需要先更新数据,然后再统计数据。如果开起异步,基本上就是先统计,然后才会返回更新的数据,导致统计不准确

回复
阅读 627
1 个回答
✓ 已被采纳
先更新数据,然后再统计数据

这种场景就适合 Promise

const p1 = new Promise(resolve => {
  // 更新数据完成后调用
  resolve()
})

p1.then(() => {
  // 统计数据
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏