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.
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 :