Office js Microsoft O365缓存加载项-Office.context.mailbox.item为空

Office js Microsoft O365缓存加载项-Office.context.mailbox.item为空,office-js,office-addins,outlook-web-addins,appsource,Office Js,Office Addins,Outlook Web Addins,Appsource,我在开发O365插件时遇到了一个拦截器 Windows桌面O365问题:首次在撰写设置中打开外接程序时,我可以访问Office.context.mailbox.item,但是所有内联“Reply”和“Reply all”都有我的缓存外接程序。为此缓存的加载项ItemChanged异步事件无权访问Office.context.mailbox.item,除非我们稍等片刻。例如,Office.context.mailbox.item是未定义的 总之,缓存的外接程序提供了一个复杂的问题ItemChang

我在开发O365插件时遇到了一个拦截器

Windows桌面O365问题:首次在撰写设置中打开外接程序时,我可以访问Office.context.mailbox.item,但是所有内联“Reply”和“Reply all”都有我的缓存外接程序。为此缓存的加载项
ItemChanged
异步事件无权访问
Office.context.mailbox.item
,除非我们稍等片刻。例如,
Office.context.mailbox.item
未定义的

总之,缓存的外接程序提供了一个复杂的问题
ItemChanged
显示用户在两封电子邮件之间进行更改的时间。但是,如果无法访问
,我该怎么办

我想我也会提到所有弹出的“回复”和“新消息”工作,正如预期的那样,所有OWA工作都符合上述逻辑

是否还有其他人遇到过此问题,或者是否有一种解决方法,可以在撰写设置中的外接程序缓存后重新建立邮箱项目

在我的撰写外接程序中运行的代码:

export class BaseModule {
       constructor() {}
       
    Office.context.mailbox.addHandlerAsync( Office.EventType.ItemChanged, 
    (eventType) => { console.log(Office.context.mailbox.item.itemId) } 

}
上面是一段代码,我可以在一个
ItemChanged
事件中等待办公室
item

更新:这似乎已被修复的答复,但不是草案

上面是一段代码,我可以在一个
ItemChanged
事件中等待办公室
item


更新:这似乎已针对回复而不是草稿进行了修复。

您是否可以共享用于测试此行为/在其上看到此行为的Outlook内部版本号?另外,请您详细说明重现此问题的步骤,以及您看到的似乎被破坏的行为。当然@OutlookAdd在Team MSFT中,我继续编辑了一些看起来令人困惑的描述。我的版本号是:版本2012(版本13430.20000)复制:1。撰写一个“回复”(而不是弹出)2。请求
Office.context.mailbox.item
(您将在第一次呼叫中收到)3。单击其他电子邮件4上的“回复”。请求
Office.context.mailbox.item
(此项为空)请您进一步说明您的场景。“缓存外接程序”是什么意思?您正在锁定外接程序吗?啊,是的,很抱歉,一旦锁定外接程序,它将缓存,除非操作弹出。为了澄清您的复制,
Office.context.mailbox.item
在步骤4中仅在短时间内为空?如果是,则说明的行为与Windows中Outlook Desktop的行为一致<代码>Office.context.mailbox.item在项目之间切换、取消选择项目或选择项目标题时可以为空。你能描述一下这个问题阻止你采取的行动吗?你能分享你用来测试这个/看到这个行为的Outlook版本号吗?另外,请您详细说明重现此问题的步骤,以及您看到的似乎被破坏的行为。当然@OutlookAdd在Team MSFT中,我继续编辑了一些看起来令人困惑的描述。我的版本号是:版本2012(版本13430.20000)复制:1。撰写一个“回复”(而不是弹出)2。请求
Office.context.mailbox.item
(您将在第一次呼叫中收到)3。单击其他电子邮件4上的“回复”。请求
Office.context.mailbox.item
(此项为空)请您进一步说明您的场景。“缓存外接程序”是什么意思?您正在锁定外接程序吗?啊,是的,很抱歉,一旦锁定外接程序,它将缓存,除非操作弹出。为了澄清您的复制,
Office.context.mailbox.item
在步骤4中仅在短时间内为空?如果是,则说明的行为与Windows中Outlook Desktop的行为一致<代码>Office.context.mailbox.item在项目之间切换、取消选择项目或选择项目标题时可以为空。你能描述一下你想采取什么行动,而这个问题阻止了你去做吗?
 let timer = setInterval(getOfficeItem, 1000);
 function getOfficeItem {
     if (Office.context.mailbox.item) {
        // Your logic
        clearInterval(timer);
     }
  }