簡體   English   中英

防止異步javascript函數調用(一個接一個的多個函數)

[英]Prevent Asynchronous javascript function calls(multiple function one after another)

我有多種功能,例如functionOne,callFunctionTwo,callFunctionThree。 從functionOne,它必須執行callFunctionTwo()。 之后,callFunctionThree()必須開始。 例如:-

function functionOne(mapingid)
{
callFunctionTwo(mapingid);
callFunctionThree(mapingid);
}

由於javascript是異步的,因此我使用了setTimeOut()。 喜歡:-

function functionOne(mapingid)
{
callFunctionTwo(mapingid);
}
function callFunctionTwo(mapingid)
{
//some code
setTimeout(function () { callFunctionThree(mapingid); }, 100);
}

function callFunctionThree(mapingid)
{
//some code
}

這段代碼可以正常工作。 那么如何實現done(),when(),then()函數來克服此問題呢?

使用jQuery.when().done()這樣:

jQuery.when(firstAjax, secondAjax).done(function(firstAjaxdata, secondAjaxdata){
    console.log('firstAjaxdata:::', firstAjaxdata);
    console.log('secondAjaxdata:::', secondAjaxdata);
});

其中firstAjax, secondAjax應該是ajax調用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM