【问题标题】:saveAsync fail on subsequent call?saveAsync 在后续调用中失败?
【发布时间】:2019-08-28 18:59:40
【问题描述】:

我正在尝试使用 Office Javascript API 编写 Excel 插件。我尝试使用“设置”界面保留设置。根据文档,当我想将 saveAsync 保存到桌面时,我会调用它。我第一次调用 saveAsync 函数时,它似乎工作正常。但在随后的通话中,我总是收到错误“内部错误”。有没有办法解决这个问题?

这是我保存和持久化数据的帮助类:

const StorageHelper = {};
StorageHelper.Persist = function (callback) {
    return new OfficeExtension.Promise(function (resolve, reject) {
        Office.context.document.settings.saveAsync(function (asyncResult) {
            if (asyncResult.status == Office.AsyncResultStatus.Failed) {
                reject("Failed to save data, please contact customer support: " + asyncResult.error.message);
            } else {
                Office.context.document.settings.refreshAsync(function (asyncResult2) {
                    if (callback) callback();
                    resolve();
                });
            }
        });
    });
};
StorageHelper.SaveSettings = function (key, value) {
    Office.context.document.settings.set(key, value);
};

然后我尝试这样称呼它:

let PassDataType = $("#pass-data-type-select").val();
StorageHelper.SaveSettings("PassDataType", PassDataType);
return StorageHelper.Persist()
    .then(function () {
        ...
    }).catch(function (error) {
        StatusBarHelper.SetMessage(error);
    });

我多次调用此代码。我在随后的每次通话中都会收到此错误。不过第一次效果很好。

{  
   "status":"failed",
   "error":{  
      "name":"Internal Error",
      "message":"An internal error has occurred.",
      "code":5001
   }
}

这可能是什么原因造成的?

【问题讨论】:

    标签: office-js


    【解决方案1】:

    感谢您的帖子,看起来它不是我身边的复制品。我使用您的代码并删除了帮助程序类,但它在我的 mac 机器上工作得很好。这是这个测试的要点,你能分享一下你的要点吗?我想试试当地的复制品。谢谢

    我的要点在这里 https://gist.github.com/lumine2008/9ecd9ee661fe64a0ddc02ebfd18c9eef

    【讨论】:

    • 嗨 raymond,我们正在与 Microsoft 团队联系,我们正在从 API 团队获得帮助,您是 Microsoft API 团队的成员吗?如果是这样,我们可以将您的姓名转发给我们的联系人,以便我们可以正式建立沟通。
    • 是的,我来自 Excel API 团队,Raymond Lu 是我的名字:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-15
    • 1970-01-01
    • 2020-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多