简体   繁体   English

等待https调用完成以进行循环

[英]waiting for https call to finish before doing for loop

So I'm trying to adapt some code. 所以我正在尝试修改一些代码。 We were orginally just using a static json object in our javascript and now trying to pull it from our database to make it more dynamic for our users. 我们最初只是在JavaScript中使用静态json对象,现在尝试将其从数据库中拉出,以使其对用户更具动态性。

This is what we had 这就是我们所拥有的

function sportToNid(sportparam){

    for (var i = 0, len = byu_teams.length; i < len; i++) {
        if(teams[i].name == sportparam){return teams[i].nid;}
    }
    return "all";

}

Teams is a static json object. Teams是一个静态json对象。

Now I thought i could just add a function that defines teams by an http request like this 现在我想我可以添加一个通过HTTP请求定义团队的函数,就像这样

function sportToNid(sportparam){
var teams = grabTeams();
    for (var i = 0, len = byu_teams.length; i < len; i++) {
        if(teams[i].name == sportparam){return teams[i].nid;}
    }
    return "all";

}

The grabTeams() would do a simple javascript http request which works but the for statement doesn't wait for it to return. grabTeams()会执行一个简单的javascript http请求,该请求可以工作,但是for语句不会等待它返回。 How do I tell the for loop to wait for grabTeams() to get done before running through the rest of the cod using vanilla javascript. 我该如何告诉for循环在使用香草javascript遍历鳕鱼的其余部分之前,等到grabTeams()完成。

您可以使用JS Promise,可以在此处找到http请求解析的示例

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM