Ich habe eine Funktion, die als Antwort die Antwort von der gapi.client.calendar.events.list
Aufruf auf der Google Kalender-API dauert.Variable Probleme mit Google (Kalender) API
Ich versuche, diese Antwort zu durchlaufen, und .push()
die Elemente zu einem Array (localEventList
). Wenn ich den Wert localEventList
unmittelbar nach der for-Schleife überprüfe, werden die Ereignisse darin gespeichert, aber wenn ich es außerhalb der .execute(function(events){...
Funktion überprüfe, ist das Array immer noch leer. Ich habe versucht, das Array auf verschiedene Werte zu initialisieren, und das Array bleibt auf dem Wert, auf den es initialisiert wird.
Ich verstehe nicht, warum die Variable nicht mutiert bleibt, da sie im übergreifenden Funktionsaufruf initialisiert wird. Auch bin ich nicht wirklich klar über den Zweck der .execute(...
Anruf.
Wenn jemand eines dieser beiden Probleme klären könnte, würde ich dich für immer lieben.
function parseEvents(calEventRequest){
var localEventList = new Array();
calEventRequest.execute(function(events){
for(i = 0; i < events.items.length; i++){
var item = events.items[i];
var name = item.summary;
var start = item.dateTime;
localEventList.push(name);
};
// If I place a console.log(localEventList) here, the array is populated
});
console.log(localEventList); // But the call here displays an empty array.
}
Mögliches Duplikat zu verwenden ist [Wie kann ich die Antwort von einem asynchronen Aufruf zurückkehren?] (Http://stackoverflow.com/questions/14220321/how-do-i-Return-die-Antwort-von-einem-asynchronen Anruf) – Phil