-3

我有一个函数,当我的自定义控件加载时会调用它。请参考下面的代码。

function load()
{
getdata();
}

function getdata()
{

  $. ajax({
 url://remote url,
type:"get",
success:function(data)
{
//going to set the data to my control
}

});
}

所以成功回调函数需要一些时间来返回“数据”(即从远程 URL 获取数据)但是 load() 客户端方法完成并进行我们的控件渲染。所以我希望 load() 方法需要等到成功函数从远程 URL 返回数据,然后 load() 函数完成,然后我将根据数据呈现我们的控件。

如何做 load() 函数需要等待回调完成。

谢谢,

湿婆

4

2 回答 2

4

1)将客户端渲染代码放在成功处理程序中......

2) 将其分离为另一个方法并从成功处理程序中调用它。

这两种方法都将解决您的加载函数完成并导致您的 UI 在数据返回之前呈现的问题。

于 2013-05-08T17:19:03.193 回答
1

您可以像这样在 load() 中创建回调函数..

function load()
{   
  getdata(function(data){
      alert('done')
      // do something with data             
  });

}

function getdata(cb)
{

    $. ajax({
    url:"..",
    type:"get",
    success:function(data)
    {
      //send data back to load
      cb(data);
    }

    });
}

load();
于 2013-05-08T17:20:46.453 回答