Como fazer um setTimeout em sequência um só após o outro? "ChatGPT"
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/
Comments