我正在尝试使对Office JS API的调用更加合理,以允许使用async
/ await
模式来使代码更整洁。在Mac上的Word(版本16.15)上,这导致Office.context.document.getFileAsync
失败。我有什么想念的吗?这是我如何包装失败的简化示例:
function getFile() {
return new Promise(resolve => {
Office.context.document.getFileAsync(
Office.FileType.Compressed,
{ sliceSize: 65536 }, // doesn't matter if this is passed or not
resolve
);
})
}
Word.run(async context => {
const result = await getFile();
console.log(result.status); // "failed"
});
答案 0 :(得分:0)
您是否使用任何工具来翻译您的代码?
如果不是这样,可能是Windows中的JS运行时版本不支持async / await。
答案 1 :(得分:-1)
您是否可以像这样将{ sliceSize: 65536 }
作为第二个参数添加到getFileAsync()中?
Office.context.document.getFileAsync(Office.FileType.Compressed, { sliceSize: 65536 }, resolve);
在Mac上,最大64kb是用于获取切片的数据;在Windows上,它可以更大(如4mb)。