Como fazer um loop através de chamadas GET / POST em retorno sequencial (aguardando pelo anterior)?

Estou escrevendo um script Tampermonkey para uma página da web e tentando extrair dados de outras páginas.
Estou tentando criar uma função que tem um loop interno que percorre uma lista,llcList, e recupera dados do método ajax GET, mas gostaria de aguardar para concluir uma solicitação antes de passar para a segunda.
O bônus seria se eu pudesse esperar algum tempo extra.

O que deve acontecer:

enviar solicitação para um llcList [0]obter dados de retorno, processá-losespere um poucoenvie uma nova solicitação para uma llcList [1]

Isso é possível? Eu tentei alguns métodos, sempre que o loop envia todos os pedidos com um intervalo de um segundo. :

function F_Company_LLC(){
for (i = 0; i < llcList.length;i++) {
        if(llcList[i][2]=="lab"){
            //run function 0
            //break;
        }
        else if(llcList[i][2]=="shop"){
            //run function 1
            //break;
        }
        else{
            F_GET_CompData(llcList, llcList[i][1],i,function(result){
                console.log(result);
            });
        }
}}

function F_GET_CompData(F_GET_CompData_list, CompID, F_GET_CompData_row, callback){
$.ajax({
    method : "GET",
    url: base_link+"/company/edit_company/"+CompID,
    beforeSend: function(){runningRequest++;},
    success: function(data){

  //data processing

        runningRequest--;
    },
    error: function() {console.log("Get_ComData");}
});
callback(runningRequest);}

questionAnswers(2)

yourAnswerToTheQuestion