我正在开发一个 Word 插件(Word API + Office.js),我正在使用内容控件,我尝试检查控件是否为空白,如果它为空白,我尝试将标志设置为“False” .
但由于异步性质,执行将移至下一行,而没有完全执行 CheckMandatoryFields 方法,因此强制标志始终为真。
有什么办法可以等到 CheckMandatoryFields 的执行完成
var mandatoryflag = "True";
function Test()
{
CheckMandatoryFields();
if (mandatoryflag)
{
document.getElementById('lblstatus').innerText += "Success" + " ";
}
}
function CheckMandatoryFields() {
var MadatoryFieldsList = ["Control1","Control2"];
$.each(MadatoryFieldsList, function (index, element) {
Word.run(function (context) {
var contentControls = context.document.contentControls.getByTag(element).getFirst();
contentControls.load('text');
return context.sync().then(function () {
var text = contentControls.text;
if (text == "") {
document.getElementById('lblstatus').innerText += element + " is Mandatory" + " ";
mandatoryflag = "False";
}
})
});
});
}