我正在开发outlook外接程序。但我得到的问题是,有时Office.context.mailbox.item.body.getAsync将失败时,外接程序页面重新加载。最糟糕的是,一旦body.getAsync返回错误"APICallFailedDueToItemChange",body.getAsync将总是失败并返回相同的错误。此错误的详细信息为{名称:"APICallFailedDueToItemChange",消息:“所选项目已更改。”,代码: 9030}
我试图重新调用getAsync,甚至重新加载整个窗口,以使插件重新启动,但错误将持续发生。唯一的方法是切换到另一封电子邮件。
复制步骤: 1.创建尝试获取电子邮件正文的任何outlook外接程序2.加载外接程序后,重新加载外接程序窗口3.一旦发生9030错误,控制台中的这些代码将始终触发相同的错误,直到我切换到另一封电子邮件
await new Promise((resolve, reject) => {
window.Office.context.mailbox.item.body.getAsync('text', (result) => {
if (result.status === 'succeeded') {
console.log(result.value)
return resolve(result.value); // updated as suggested by Mavi Domates
} else {
console.error(result.error)
return reject(result.error);
}
})
})
我希望即使前面的回调失败,getAsync也能正常工作,但实际上异常永远不会被清除。
https://stackoverflow.com/questions/56028709
复制相似问题