Open Sekooly opened 3 years ago
get_resultat remplacé par la fonction récursive
//1st attempt: get_with_pagination(url, 0)
var resultat_final = []
function get_resultat(url, offset_value, en_asynchrone){
var xmlHttp = new XMLHttpRequest();
if(!offset_value) resultat_final = []
//if from supabase -> add offset
if(url.includes("supabase") && offset_value){
//console.log("AVANT",url)
url = url + "&offset=" + offset_value
}
//console.log("APRES",url)
xmlHttp.open( "GET", url, en_asynchrone ); // false for synchronous request
//if from suppabase AND first attempt -> add count exact
if(url.includes("supabase") && !offset_value){
xmlHttp.setRequestHeader("Prefer", "count=exact")
}
xmlHttp.send( null );
nb_lignes_total = nombre_de_rows(xmlHttp)
if(nb_lignes_total) stocker("nb_lignes_total", nb_lignes_total)
var my_next_offset = next_offset(xmlHttp)
//store results
resultat_final.push(JSON.parse(xmlHttp.responseText))
if(Number(recuperer("nb_lignes_total")) > my_next_offset){
get_resultat(url, next_offset(xmlHttp),en_asynchrone)
}
effacer("nb_lignes_total")
if(resultat_final.length === 1){
return resultat_final[0]
}else{
return [].concat.apply([], resultat_final);
}
}
Ces 6 tables/vues risquent de s'alourdir au fil des mois. Si la requête va à la bdd -> faire de la pagination !!!