Beste Möglichkeit zum Schreiben von Schleifen mit Versprechungen (ctx.sync) in der JavaScript-API für Office
Es gibt viele Threads, die über die Gewährleistung der Ausführungsreihenfolge von Versprechungen in Schleifen diskutieren. Ich möchte wissen, was die beste Vorgehensweise in der JavaScript-API für Office-Add-Ins ist. Meistens ist das fragliche Versprechenctx.sync()
.
Hier finden Sie ein Snippet, um die Adresse einer Liste von Excel-Bereichen nacheinander auszudrucken. Der Test zeigt, dass die Reihenfolge der Excel-Bereiche eingehalten wird. Aber die Frage istwhether und wie man @ garantie die Ausführungsreihenfolge?
function loadAll () {
var ranges = ["A:A", "B:B", "C:C", "D:D", "E:E"];
var sheet = "Sheet1";
for (var i = 0; i < ranges.length; i++) {
loadRange(ranges[i], sheet);
}
}
function loadRange (range, sheet) {
Excel.run(function (ctx) {
var r = ctx.workbook.worksheets.getItem(sheet).getRange(range);
r.load('address');
return ctx.sync().then(function() {
console.log(r.address);
});
});
}
Kann mir jemand helfen?