0
如何使用嵌套的带有延迟的context.executeQueryAsync?下面是我的代码,我会解释正是我要找:使用上面的代码结构在SharePoint Online中与延迟嵌套的context.executeQueryAsync
代码
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();
}
基本上我想获取分类(条款&它的子项) 。最初,我创建了一个名为navigationItem
的数组,并遍历所有术语。
在迭代过程中,首先,我将条件推入该数组中,并且随着这一点,我还得到它的子条款(如果有的话)并将其推入同一个数组中。
我希望代码不会进一步执行,直到第二个循环完成它的执行。这样,我将有最后的数组,而将它返回到另一个函数。