如何在第一个以javaScript结束后运行第二个函数?

时间:2015-08-28 15:57:41

标签: javascript jquery

function addItemToCart (id_1, id_2, id_3, id_etc) {
  jQuery.ajax({

  });
}

function clearCart()
{
  jQuery.ajax({
  });
}

function buyButton()
{ 
    clearCart();
    setTimeout(function()
    {
        redirect to cart;
        addItemToCart(283746 , 1, 1, "Months", "1294");
    }, 500);
}

我正在努力使它不是使用setTimeout而是等待,直到clearCart()完成通过ajax加载,然后它运行setTimeout中的函数,我似乎无法想出这个...我试过做回调但是我说它不正确..

function FirstFunction(callBack)
{
    clearCart();

    if (callback)
    {
        callback();
    }       
}
function SecondFunction()
{
    buyButton();
}

FirstFunction(SecondFunction);

2 个答案:

答案 0 :(得分:7)

如果要在Ajax响应到达时运行某些代码,请将其放在donesuccess处理函数中。这就是那些功能的用途。

不要猜测请求需要多长时间。

答案 1 :(得分:4)

需要使用string file = @"c:\file.txt"; string url = File.ReadAllText(file); driver.Navigate().GoToUrl(url); done回调来避免任何随机等待时间。如下所示:

success