Maison > Questions et réponses > le corps du texte
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.
習慣沉默2017-05-18 10:53:54
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 ?
我想大声告诉你2017-05-18 10:53:54
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();
});
};