Como fazer um setTimeout em sequência um só após o outro? "ChatGPT"

PHOTO EMBED

Mon Jul 03 2023 12:36:51 GMT+0000 (Coordinated Universal Time)

Saved by @neinhopinho

/* Como fazer um setTimeout em sequência um só após o outro?
ChatGPT
Se você deseja executar várias funções setTimeout() em sequência, uma após a outra, você pode usar a recursão. Aqui está um exemplo de como fazer isso:

javascript
Copy code */
function executeSequentially(funcArray, delay) {
    if (funcArray.length > 0) {
        var currentFunc = funcArray.shift();
        currentFunc();
        setTimeout(function() {
            executeSequentially(funcArray, delay);
        }, delay);
    }
}

// Exemplo de funções a serem executadas em sequência
function funcao1() {
    console.log("Função 1 executada");
}

function funcao2() {
    console.log("Função 2 executada");
}

function funcao3() {
    console.log("Função 3 executada");
}

// Array de funções
var functionsArray = [funcao1, funcao2, funcao3];

// Chamar a função para executar as funções sequencialmente com um atraso de 1 segundo entre elas
executeSequentially(functionsArray, 1000);
/* Neste exemplo, temos três funções funcao1, funcao2 e funcao3 que você deseja executar em sequência, uma após a outra. Essas funções estão armazenadas em um array functionsArray. A função executeSequentially é usada para executar essas funções em sequência usando setTimeout() e recursão.

A função executeSequentially verifica se ainda há funções no array funcArray. Se houver, ela remove a próxima função do array usando shift(), executa a função atual e, em seguida, chama setTimeout() para agendar a próxima chamada da função executeSequentially com um atraso de delay milissegundos.

Assim, as funções serão executadas em sequência, uma após a outra, com o atraso especificado entre elas. */
content_copyCOPY

https://chat.openai.com/