Problème avec location.reload
给我你的怀抱
给我你的怀抱 2017-05-18 10:51:54
0
3
1241
start.onclick=function newGame(){
    location.reload();
    flag = selectModel[0];
    console.log(flag);
};

Je voulais à l'origine actualiser la page et attribuer l'indicateur de variable globale après avoir cliqué. Actualisation réussie, mais échec de l'attribution de la valeur ; si location.reload est commenté, la valeur peut être attribuée.

Est-ce que location.reload() est asynchrone ? Lorsque la valeur est attribuée, l'actualisation n'est pas encore exécutée, mais l'opération d'actualisation est effectuée une fois l'affectation terminée.

给我你的怀抱
给我你的怀抱

répondre à tous(3)
習慣沉默

Vous devez d'abord comprendre le cycle de vie du javascript dans le navigateur.

Après avoir rechargé la page et entré dans le cycle de vie suivant, le drapeau attribué lors du cycle précédent sera détruit même si l'affectation est réussie.

Actualiser la page équivaut à tout jeter et à recommencer, tout comme rouvrir la page.

Quelle exigence étrange vous obligerait à modifier le drapeau global après avoir cliqué sur un lien pour l'actualiser ?

刘奇

Vous pouvez enregistrer ce drapeau sur localdtorage

我想大声告诉你

Il devrait être synchronisé, donc une meilleure façon est de considérer ceci :

start.onclick=function newGame(){
    flag = selectModel[0];
    console.log(flag);
    setTimeout(() => {
        location.reload();
    });
};
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal