实际问题:
从Windows获取最新更新后,我们将收到Office.js的“等待直到上一次调用完成”错误(api方法:Office.context.document.bindings.addFromNamedItemAsync)。
使用此最新更新的大多数用户都面临此问题。(对于其他版本,它运行良好)
暂时,我们从USER计算机中删除了Windows Update,并卸载并重新安装了MS Office。
以下仅为我们提供的信息: 当要写入的名称范围很大时,我们会看到这种情况。仅在最新更新之后才发生这种情况。在看到之前,使用相同名称范围的相同代码可以正常工作。
即使执行以下步骤,修改后的文件也不会反映在JS文件的“任务”窗格应用中(但能够看到html更改,不确定这是一个新的更新问题) -构建项目以生成JS文件(从Type脚本)。 -直接修改的JS文件。 -删除了IE浏览器缓存。 -清洗溶液并再次重建 -删除的临时文件 -系统重新启动。
无法将调试器脚本进程附加到Visual Studio(与其他系统配合正常)。
以下是我们面临此问题的版本信息:
如果您需要更多信息,请告诉我。
更新了1个说明 `
Office.select('bindings#' + namedRange, function (callback: any) {
if (callback.status === Office.AsyncResultStatus.Failed) {
Office.context.document.bindings.addFromNamedItemAsync(
namedRange, //The name of the named item. Required.
bindingType, // Specifies the type of the binding object to create. Required.
{
id: namedRange, // Specifies the unique name to be used to identify the binding object. Optional. If no id argument is passed, an id will be autogenerated.
//asyncContext: data, // A user-defined item of any type that is returned in the AsyncResult object without being altered. Optional.
coercionType: bindingType
},
// A function that is invoked when the callback returns, whose only parameter is of type AsyncResult.
(result: any) => {
if (result.status == Office.AsyncResultStatus.Succeeded) {
var id = result.value.id;
Office.select(
"bindings#" + id,
function onError() {
defQ.reject(' Error: Binding not found');
}
).getDataAsync(
{
},
(asyncResult: any) => {
if (asyncResult.status == Office.AsyncResultStatus.Succeeded) {
tracer.Trace("Completed read operation In ReadExcelQPromise method " + namedRange + " time elapsed -" + (Date.now() - startTime));
defQ.resolve(asyncResult.value);
}
else {
tracer.Trace("In ReadExcelQPromiseFail1 method " + namedRange + Date() + " ", asyncResult);
defQ.reject(' Error: ' + asyncResult.error.message);
}
}
);
}
else {
tracer.Trace("In ReadExcelQPromiseFail2 method " + namedRange + " " + Date(), result);
defQ.reject(' Error: ' + result.error.message);
}
});
}
}).getDataAsync(
{
},
(asyncResult: any) => {
if (asyncResult.status == Office.AsyncResultStatus.Succeeded) {
tracer.Trace("Completed read operation In ReadExcelQPromise method " + namedRange + " time elapsed -" + (Date.now() - startTime));
defQ.resolve(asyncResult.value);
}
else {
tracer.Trace("In ReadExcelQPromiseFail3 method " + namedRange + " " + Date(), asyncResult);
defQ.reject('Error: ' + asyncResult.error.message);
}
}
);
确切消息是:在WriteExcelQPromiseFail3方法中FRWK_Base_GroupLK_MXTue 2019年4月23日23:55:06 GMT + 0530(印度标准时间)
错误:等待上一个呼叫完成