是否可以等到当前方法的执行被执行

问题描述 投票:1回答:1

我正在开发一个与内容控件一起使用的Word加载项(Word API + Office.js),我尝试检查控件是否为空,如果控件为空,我试图将标志设置为“ False”。

但是由于异步的性质,执行转移到下一行而没有完全执行CheckMandatoryFields方法,因此,managementflag始终为true。

有什么方法可以等到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";
                    }
                })
            });

        });      

    }

我正在开发一个与内容控件一起使用的Word加载项(Word API + Office.js),我尝试检查控件是否为空,如果控件为空,我试图将标志设置为“假”。但...

office-js office-addins word-web-addins
1个回答
0
投票

Officejs方法的示例承诺:

© www.soinside.com 2019 - 2024. All rights reserved.