如何按顺序运行异步Javascript函数

时间:2016-12-05 15:17:49

标签: javascript html

您好我是初学者程序员,我需要在页面上按顺序运行几个javascript函数; getcampaignID()search1()searchresult()search2()searchresult()。我需要首先检索广告系列ID,然后将其发送到search1(),获取结果,然后运行search2()以获取其结果。
我已经在[search1() + searchresult()之前成功运行了[search2() + searchresult()],在search1()代码之后执行了</body> searchresult()中添加setTimeout。 但是,我无法在不破坏search1()search2()

的情况下首先运行getcampaignID

我的代码如下所示:home.html

<script>
getcampaignID() {
    //...make AJAX call to get campaignID
    campaignID = xmlhttp.responseText.trim();
}
getcampaignID(); //run function

searchresult() {
        //...retrieves search results
        //...appends to html div

        setTimeout(function () {
            if (counter == 0) {
                counter = 1;
                search2();
            } else {
                clearTimeout(timer);
            }
        }, 500);
    } //end of searchresults

search1() {
    //...search1 parameters 
    //url=?camid = campaignID
    //campaignID unidentified
}

search2() {
    //...search2 parameters 
    //url=?camid = campaignID
    //campaignID unidentified
}


</script>
<body>
<div id= results1>...</div>
<div id= results2>...</div>
</body>
<script>
         search1();
</script>

我尝试过的事情:

        getcampaignID() {
            //... all the codes mentioned
            search1() {
                alert("search1 working");
            }
            search2() {
                alert("search2 working");
            }
        }
        search1();

问题:search1()不会运行,也不会触发警报。

getcampaignID() {
    var campaignid = "A";
    big(campaignid);
}
big
function (campaignid) {

    //..all codes
    search1() {
        alert("search1 working");
    }
    search2() {
        alert("search2 working");
    }
    search1();
}
search1();

问题:search1()不会运行,也不会触发警报。

要点:
我正在寻找一种在search1运行之前在search1();中添加campaignID值的方法

0 个答案:

没有答案