Javascript: Взаимодействие setTimeout () и window.location.assign () - PullRequest
1 голос
/ 03 августа 2020

Я начал изучать javascript сегодня и, похоже, не понимаю, как работают setTimeout () и window.location.assign ( dest ).

В основном то, что я Я пытаюсь изменить местоположение сайта через 0,5 секунды, а затем через 0,5 секунды после этого изменить текст с помощью переменной.

setTimeout(function foo(){
    window.alert("DID X");
    // document.getElementById("text_element").innerText = "Changed"
}, 1000);

setTimeout(function bar()
{
    window.location.assign("destination.html"); // on removal both alerts execute
    window.alert("DID Y");                       
}, 500);

После игры я заметил, что функция foo или bar работают, если другой нет. Я также заметил, что оба предупреждения срабатывают, когда я не переназначаю расположение окна. Кажется, что изменение местоположения сайта «проглатывает» второй setTimeout.

К сожалению, я не нашел решения онлайн-джет. Заранее спасибо за помощь.

1 Ответ

0 голосов
/ 03 августа 2020

Первая выполняемая строка кода: window.location.assign ("destination. html");

После выполнения этой строки кода остальная часть кода пропускается, потому что окно изменилось местоположение, и старое окно исчезло.

...