Je développe une application avec Intel XDK et Cordova.navigator.globalization.getPreferredLanguage ne s'exécute pas immédiatement
Au début du code, j'utilise ces lignes pour obtenir la langue préférée du dispositif et la stocker dans une variable appelée « lang »:
navigator.globalization.getPreferredLanguage(
function (language) {
lang = language.value;
},
function() {alert('Err');}
);
J'ai quelques lignes de code où je besoin de cette variable "lang" et de sa valeur, mais pour une raison quelconque, cette fonction est en cours d'exécution à la fin, donc pendant tout le code d'exécution lang est égal à null.
Y a-t-il un moyen de s'assurer que cette fonction est terminée et que lang a sa valeur, avant de continuer?
Vous devez généralement attendre après l'envoi de l'événement deviceready avant d'interagir avec les API Cordova. C'est probablement le cas ici. –
Ce code est en cours d'exécution après l'événement deviceready. Je vous remercie. – garfield185
Ok - l'autre partie est l'appel de la fonction sera asynchrone, de sorte qu'il s'exécutera en arrière-plan et le reste de vos appels s'exécutera. Si vous avez besoin de résultat, déplacez ce code dans la fonction (language) {} part –