Ich möchte eine globale Variable _userRegister
aus dem Ergebnis der Asycn-Funktion machen. Wie geht das?Javascript globale Variable in asynchronen Funktion?
/* Socket.io-client Function */
function reportSignUp(socket, date) {
// sent to socket server
socket.emit('report signup', date);
// listenning response from server
socket.on('users signup', function (data) {
// data is the result from server
console.log('user register', data);
// make data global
_userRegister = data;
});
}
;
/* End Socket.io-client Function */
$(function() {
var _userRegister;
var socket = io();
var date = getDateTime(); // get current time from system
reportSignUp(socket, date);
console.log("_userRegister",_userRegister); // <- underfine
});
</script>
So Sie undefined bekommen ... Wie es asyn Anruf s .. Ihre Variable wird nur initialisiert, wenn die Antwort empfangen wurde ... Können Sie die Antwort abfangen .. Und Variable dort initialisieren ... –
Ist das nicht genau das, was es mit diesem Code gemacht hat? _userRegister = Daten; sollte schon global machen – Mayday
@ Mr.Noddy: Ich habe keinen Fehler. Ich kann einfach nicht '' data'' Variable global wieder zu verwenden – Loint