新约会的Outlook Office上下文saveasync回调问题

时间:2019-03-06 12:25:36

标签: outlook outlook-addin office-addins outlook-web-addins microsoft-graph-calendar

我创建了一个Outlook加载项,该加载项在“创建新约会”页面中打开。在这里,我正在打开新的约会页面并调用以下函数来同步内容约会页面。当我第一次打开约会页面时,我没有从saveasync方法获得任何回调。这需要很多时间。如果我再次关闭并打开我的应用程序并执行相同的操作,那么我将得到回调。

Office.context.mailbox.subject.setAsync('subject');
Office.context.mailbox.body.setAsync('sample body');
Office.context.mailbox.item.saveAsync(
function callback(result) {
   // Process the result.
});

1 个答案:

答案 0 :(得分:1)

您应该嵌套通话,因为它们都是异步的。

Office.context.mailbox.subject.setAsync
(
    "subject",
    function (asyncResult0)
    {
        if (asyncResult0.status === Office.AsyncResultStatus.Succeeded)
        {
            Office.context.mailbox.body.setAsync
            (
                "sample body",
                function (asyncResult1)
                {
                    if (asyncResult1.status === Office.AsyncResultStatus.Succeeded)
                    {
                        Office.context.mailbox.item.saveAsync
                        (
                            function (result)
                            {
                                // Process the result
                            }
                        );
                    }
                }
            );
        }
    }
);