Je rencontre un problème avec setTimeout(), il ne semble pas être en attente d'appel de la fonction. Tout d'abord, je l'utilisais comme ceci:javascript setTimeout() pas d'attente, même après l'appel en tant que fonction anonyme
function function1(driver){
driver.get(secondaryUrl);
}
driver.get(initialUrl);
setTimeout(function1, 3000, driverInstance);
Cela ne fonctionnait pas, il fallait simplement passer le délai. Donc je l'ai regardé et apparemment envelopper la fonction comme une fonction anonyme permettrait de le réparer. J'ai donc essayé ceci:
function function1(driver){
driver.get(secondaryUrl);
}
setTimeout(function(){ function1(driverInstance)}, 3000);
Mais ce serait faire la même chose, juste sauter le retard et accédez à la seconde URL dès le premier est chargé. Quelqu'un peut-il m'aider avec une solution? Merci
Le deuxième exemple fonctionne comme prévu. –
C'est le point de * asynchronie * - il n'attend pas que l'action se passe, il ne fait que planifier quelque chose qui arrivera dans le futur, puis il revient immédiatement. – Bergi
J'ai lu sur de nombreux articles que si je l'enveloppais comme une fonction anonyme, il attendrait avant d'exécuter –