Wie kann ich verschachtelte context.executeQueryAsync mit Deferred verwenden? Unten ist mein Code, und ich werde erklären, was genau ich suche:Verschachtelte context.executeQueryAsync mit verzögerter
-Code
function getValues() {
var dfd = $.Deferred(function() {
context.executeQueryAsync(function() {
var navigationItem = [];
// First Loop
while (termEnumerator.moveNext()) {
// Push Parent Terms in navigationItem array
navigationItem.push({ "name": ""});
// Get Sub Terms
context.executeQueryAsync(function() {
// Second Loop
while (termsEnum.moveNext()) {
// Push Sub Terms in navigationItem array
navigationItem.push({ "name": ""});
}
}, function (sender, args) {
console.log(args.get_message());
});
}
dfd.resolve(navigationItem);
}, function (sender, args) {
console.log(args.get_message());
dfd.reject(args.get_message());
});
});
return dfd.promise();
}
Grundsätzlich versuche ich Taxonomy (AGB & es Unter Begriffe) in Sharepoint Online mit über Codestruktur zu holen . Anfangs habe ich ein Array mit dem Namen navigationItem
erstellt und durch alle Begriffe iteriert.
Während der Iteration, dränge ich zuerst Ausdrücke in dieses Array und zusammen damit, bekomme ich auch seine Unterbegriffe, wenn überhaupt, und schiebe es in das gleiche Array.
Ich möchte, dass dieser Code nicht weiter ausgeführt wird, bis die zweite Schleife die Ausführung beendet. Damit werde ich das letzte Array haben und es zu einer anderen Funktion zurückbringen.