Как приостановить загрузку документов HTML и JavaScript, пока не будут получены результаты AJAX-запроса? - PullRequest
0 голосов
/ 21 октября 2019

Я использую запрос AJAX в своем коде JavaScript и хочу, чтобы мой код HTML и JavaScript приостанавливал загрузку до тех пор, пока не поступят результаты запроса. Возможно ли это? Я полагаю, что асинхронные функции продолжают выполнять ваш код, но делают возможным «обратный вызов» функции после того, как она выполнила шаг. В моем случае я просто хочу, чтобы все прекратилось, поэтому ничего не происходит асинхронно.

Например, см. Мой код ниже.

      function ajaxQuerySpotify(stringIncrementalAmount) {
        $.ajax({
            url: 'https://api.spotify.com/v1/me/tracks?limit=50&offset=' + stringIncrementalAmount,
            headers: {
              'Authorization': 'Bearer ' + access_token
            },
            success: function(response) {

              for (i = 0; i < response['items'].length; i++) {
                songIDs.push(response['items'][i]['track']['id']);
                songNames.push(response['items'][i]['track']['album']['artists'][0]['name']);
                SongArtists.push(response['items'][i]['track']['name']);
              }

              requestCount += 1;
              incrementalRequest = requestCount * incrementalAmount;
              stringIncrementalAmount = String(incrementalRequest);
              // console.log(stringIncrementalAmount);

              // SET BACK TO 1000 ONCE COMPLETED TESTING
              if (incrementalRequest >= 999) {
                return false;
              }

              // Keeps requerying until nothing can be found anymore
              ajaxQuerySpotify(stringIncrementalAmount);
            }
        })
    }
...