【发布时间】:2019-11-15 02:20:10
【问题描述】:
我目前正在努力加快为 Excel 编写加载项的速度,并已就该主题进行了大量阅读,并正在关注此 excellent tutorial series。
在示例中,演示者使用的是 TypeScript,但是,我正在处理的当前项目需要 JavaScript。
我已经在 Visual Studio 2019 社区版而不是 Script Lab 的 JavaScript Excel Web 插件项目中复制了该示例,并且在 Desktop Excel 上调试插件似乎工作正常。
我的问题是在我的 JavaScript 版本中使用 TypeScript 示例的 async/await 语法时出现的,因为调试器在我使用它时会引发语法错误。对 JS 中的异步编程没有太多经验,我从一开始就可以看出为什么 async/await 比嵌套回调或 Promises 更容易使用。 然后链接起来对我来说看起来很痛苦,如果可以的话,我宁愿使用 async/await。
让我纠结了一阵子的是 JavaScript 显然确实支持 async/await。所以,我现在唯一能想到的是,Excel 运行的 JavaScript 版本是 ECMAScript 8 之前的版本。我找不到任何在 JS 中使用 async/await 的 Office.js 加载项示例。我不知道架构是如何连接在一起的,但如果有人能证实这一点,我将不胜感激,因为我宁愿听到 JavaScript 版本有问题,因此我无能为力,只能在 false 下继续假设并错过了使用 async/await 的机会。 [旁注:我也知道 OfficeExtension.Promise 但这仍然令人讨厌)。
提前致谢。
【问题讨论】:
-
docs.microsoft.com/en-us/office/dev/add-ins/develop/…。我认为 MSoft 在这里的文档方面做出了不错的尝试。
-
感谢您的回复,BigBen。是的,我在研究过程中略读了一遍,发现 JS 示例使用了 Promise,而 TS 版本使用了 async/await。我希望这是一个 JS 版本问题,并且有人破解了在 Office 插件中使用 ES8 的方法(假设 JS 版本是问题所在)。
标签: javascript excel async-await office-js office-addins