在Javascript中加载文档后如何调用函数?

在Javascript中加载文档后如何调用函数?,javascript,jquery,Javascript,Jquery,我想做的是,在加载文档后,我想调用从API获取数据的函数,然后调用另一个在html文档中显示此数据的函数,我尝试在document ready块中调用该函数,但没有任何工作,我不知道该做什么,我将非常感谢您的帮助。 她是我的密码: var _userList = []; $(document).ready(function() { getData(); toHtml(); }); function getData() { var userName = ["ESL_SC2", "O

我想做的是,在加载文档后,我想调用从API获取数据的函数,然后调用另一个在html文档中显示此数据的函数,我尝试在document ready块中调用该函数,但没有任何工作,我不知道该做什么,我将非常感谢您的帮助。 她是我的密码:

var _userList = [];
$(document).ready(function() {
    getData();
    toHtml();
});
function getData() {
var userName = ["ESL_SC2", "OgamingSC2", "cretetion", "freecodecamp", "storbeck", "habathcx", "RobotCaleb", "noobs2ninjas"];
userName.forEach(function(user) {
    $.ajax({
        type: "GET",
        url: " https://wind-bow.glitch.me/twitch-api/users/" + user,
        success: function(data) {
            $.ajax({
                type: "GET",
                url: " https://wind-bow.glitch.me/twitch-api/streams/" + user,
                success: function(data1) {
                    data.st = data1;
                }
            });
            _userList.push(data);
            // console.log(data);
        }
    });
});
function toHtml() {
_userList.forEach(function(item) {
    var html = '<div class="user" id="' + item.display_name + '">' +
        '<div class="user-name-img">' +
        '<div class="user-img">' +
        '<img src="' + item.logo + '" alt="" srcset="">' +
        '</div>' +
        '<div class="user-name">' +
        '<h4>' + item.display_name + '</h4>' +
        '</div>' +
        '</div>';
    $(".content-body").append(html);
    if (item.st.stream != null) {
        var str1 = '#' + item.st.display_name + ' .user-img img';
        $(str1).addClass('active');
        var str2 = '#' + item.st.display_name + ' .user-name';
        $(str2).append('<h5><i class="fa fa-video-camera" aria-hidden="true"></i></h5>');
        $(str1.slice(0, str1.indexOf(' '))).addClass('act');
    }
});
}
var\u userList=[];
$(文档).ready(函数(){
getData();
toHtml();
});
函数getData(){
var用户名=[“ESL_SC2”、“OgamingSC2”、“cretetion”、“freecodecamp”、“storbeck”、“habathcx”、“RobotCaleb”、“Noobs2nijas”];
userName.forEach(函数(用户){
$.ajax({
键入:“获取”,
url:“https://wind-bow.glitch.me/twitch-api/users/“+用户,
成功:功能(数据){
$.ajax({
键入:“获取”,
url:“https://wind-bow.glitch.me/twitch-api/streams/“+用户,
成功:功能(数据1){
data.st=数据1;
}
});
_推送(数据);
//控制台日志(数据);
}
});
});
函数toHtml(){
_userList.forEach(函数(项){
var html=''+
'' +
'' +
'' +
'' +
'' +
''+项目.显示\u名称+''+
'' +
'';
$(“.content body”).append(html);
如果(item.st.stream!=null){
var str1='#'+item.st.display_name+'.user img img';
$(str1).addClass('active');
var str2='#'+item.st.display_name+'.user name';
$(str2)。附加(“”);
$(str1.slice(0,str1.indexOf(“”)).addClass('act');
}
});
}

您应该将toHTML函数嵌套在$.ajax中({success:

但是由于你发送多个get请求来抽搐,你应该考虑以下内容:

  • 尽量减少请求数量,以便twitch不会将您标记为 暴力攻击者。将ajax放入循环通常不是一个好方法 意念
  • 既然你在创建异步函数,你可能需要考虑 用于控制整个工作流
    您的问题似乎与对异步逻辑行为的误解有关。