我在JavaScript中有3个方法,我想一个接一个地调用,也就是说按顺序。
recuperer_from_proposer_liste_idchamp();
nombre_etape();
答案 0 :(得分:1)
除非有任何异步调用(例如AJAX请求),否则这些方法将按您键入的顺序运行。
JavaScript解释器逐行执行命令。
如果您有异步调用,则需要使用回调函数处理这些调用。如果你不理解回调是如何工作的,那就有很多guides online。
答案 1 :(得分:0)
如果你确实做了异步的事情,你必须找出方法何时完成他们的工作。所以调用方法1:
method1 ();
method1然后需要通知我们它的动作结束,并且它必须调用一个名为method1_finished的方法,然后调用method2:
method1_finished () {
method2 ();
}
方法3也是如此:
method2_finished () {
method3 ();
}
根据代码的来源,您通常可以直接在需要回调的地方定义匿名函数:
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
// call succeeded, now go on to the next step
}
}
xmlhttp.open("GET","someurl.php",true);
xmlhttp.send();
答案 2 :(得分:0)
您可能需要将逻辑更改为此类
function getRowsFromDatabase(callback) {
// do your fancy database connection
// and data retrieval here
// when you're ready, call the registered callback
if(typeof(callback) == "function") {
callback(rowsRetrieved);
}
}
function displayRowsOnScreen() {
getRowsFromDatabase(function(rows){
// do the dom magic here
})
}