Javascript函数序列错误

时间:2018-01-13 11:41:17

标签: javascript jquery ajax

我正在调用一个从服务器加载JSON并将其显示在div中的函数,该函数在DOM中动态创建。显示创建的div后,我想做parent.appendChild(x)之类的其他内容。现在有时会发生第二步在第一步之前运行。我试过使用这段代码,但似乎没有用。

$.ajax({
  url: firstfunction(),
  success: function() {
    parent.appendChild(x)
  }
});

请注意firstfunction()加载JSON并将其显示在新创建的div中。

任何想法如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

你应该使用promises,所以你等到完成你的Ajax请求,然后再转到另一个任务(为你的例子操作DOM)。

async function doAjax(ajaxurl){

 const result = await $.ajax({
      url: ajaxurl
 });
    return result;
}
//Call function
doAjax().then( data => doStuff(data) )

Async / Await with $ .ajax示例:

https://codepen.io/anon/pen/xpzJza

答案 1 :(得分:-1)

我通过使用同步httprequest修复了问题。