Bonjour,

Je rencontre un petit problème avec mon code.

Ce que je fais

const json = {
   { "type": 1, "message": "mon message" },
   { "type": 2, "message": "mon message" },
   ...
}

for(let i = 0; i < json.lenght; i++) {
    const info = json[i];
   show(info.message, info.type);
}

Ce que je veux

Je cherche à afficher chaque objet contenu dans json après 3s. Genre le premier élément s'affiche, après 3 secondés le suivant ainsi de suite jusqu'a se que tous les éléments soient afficher.

Ce que j'obtiens

Actuellement tous les l'objets s'affichent d'un coup.

1 réponse


Curvata
Réponse acceptée

Bonjour Eric237,

const json = [
    { type: 1, message: "mon message" },
    { type: 2, message: "mon message" }
];

let i = 0;
let timer = setInterval(getData, 3000);

function getData () {
    if (i < json.length) {
        let info = json[i];
        show(info.message, info.type);
        i++;
    } else {
        clearInterval(timer);
    }
};